From 68d94ad715797d011d7b52b1cea840a340c73a94 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Mon, 18 Sep 2023 12:49:36 +0300 Subject: [PATCH 01/70] Removed redundant uppercase in mental stability formula. Reworked thresholds for combat skill effectiveness formulas to have a higher 100 cap (more descriptive about very strong warriors). --- plugins/lua/sort.lua | 74 ++++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/plugins/lua/sort.lua b/plugins/lua/sort.lua index 15d9ebabb..778bc87b9 100644 --- a/plugins/lua/sort.lua +++ b/plugins/lua/sort.lua @@ -212,7 +212,7 @@ local function melee_skill_effectiveness(unit) end local function get_melee_skill_effectiveness_rating(unit) - return get_rating(melee_skill_effectiveness(unit), 350000, 2350000, 78, 64, 49, 35) + return get_rating(melee_skill_effectiveness(unit), 350000, 2750000, 64, 52, 40, 28) end local function make_sort_by_melee_skill_effectiveness_desc() @@ -272,7 +272,7 @@ local function ranged_skill_effectiveness(unit) end local function get_ranged_skill_effectiveness_rating(unit) - return get_rating(ranged_skill_effectiveness(unit), 0, 500000, 90, 62, 44, 27) + return get_rating(ranged_skill_effectiveness(unit), 0, 800000, 72, 52, 31, 11) end local function make_sort_by_ranged_skill_effectiveness_desc(list) @@ -345,41 +345,41 @@ end -- Statistical rating that is higher for dwarves that are mentally stable local function get_mental_stability(unit) - local ALTRUISM = unit.status.current_soul.personality.traits.ALTRUISM - local ANXIETY_PROPENSITY = unit.status.current_soul.personality.traits.ANXIETY_PROPENSITY - local BRAVERY = unit.status.current_soul.personality.traits.BRAVERY - local CHEER_PROPENSITY = unit.status.current_soul.personality.traits.CHEER_PROPENSITY - local CURIOUS = unit.status.current_soul.personality.traits.CURIOUS - local DISCORD = unit.status.current_soul.personality.traits.DISCORD - local DUTIFULNESS = unit.status.current_soul.personality.traits.DUTIFULNESS - local EMOTIONALLY_OBSESSIVE = unit.status.current_soul.personality.traits.EMOTIONALLY_OBSESSIVE - local HUMOR = unit.status.current_soul.personality.traits.HUMOR - local LOVE_PROPENSITY = unit.status.current_soul.personality.traits.LOVE_PROPENSITY - local PERSEVERENCE = unit.status.current_soul.personality.traits.PERSEVERENCE - local POLITENESS = unit.status.current_soul.personality.traits.POLITENESS - local PRIVACY = unit.status.current_soul.personality.traits.PRIVACY - local STRESS_VULNERABILITY = unit.status.current_soul.personality.traits.STRESS_VULNERABILITY - local TOLERANT = unit.status.current_soul.personality.traits.TOLERANT - - local CRAFTSMANSHIP = setbelief.getUnitBelief(unit, df.value_type['CRAFTSMANSHIP']) - local FAMILY = setbelief.getUnitBelief(unit, df.value_type['FAMILY']) - local HARMONY = setbelief.getUnitBelief(unit, df.value_type['HARMONY']) - local INDEPENDENCE = setbelief.getUnitBelief(unit, df.value_type['INDEPENDENCE']) - local KNOWLEDGE = setbelief.getUnitBelief(unit, df.value_type['KNOWLEDGE']) - local LEISURE_TIME = setbelief.getUnitBelief(unit, df.value_type['LEISURE_TIME']) - local NATURE = setbelief.getUnitBelief(unit, df.value_type['NATURE']) - local SKILL = setbelief.getUnitBelief(unit, df.value_type['SKILL']) - - -- Calculate the rating using the defined variables - local rating = (CRAFTSMANSHIP * -0.01) + (FAMILY * -0.09) + (HARMONY * 0.05) - + (INDEPENDENCE * 0.06) + (KNOWLEDGE * -0.30) + (LEISURE_TIME * 0.24) - + (NATURE * 0.27) + (SKILL * -0.21) + (ALTRUISM * 0.13) - + (ANXIETY_PROPENSITY * -0.06) + (BRAVERY * 0.06) - + (CHEER_PROPENSITY * 0.41) + (CURIOUS * -0.06) + (DISCORD * 0.14) - + (DUTIFULNESS * -0.03) + (EMOTIONALLY_OBSESSIVE * -0.13) - + (HUMOR * -0.05) + (LOVE_PROPENSITY * 0.15) + (PERSEVERENCE * -0.07) - + (POLITENESS * -0.14) + (PRIVACY * 0.03) + (STRESS_VULNERABILITY * -0.20) - + (TOLERANT * -0.11) + local altruism = unit.status.current_soul.personality.traits.ALTRUISM + local anxiety_propensity = unit.status.current_soul.personality.traits.ANXIETY_PROPENSITY + local bravery = unit.status.current_soul.personality.traits.BRAVERY + local cheer_propensity = unit.status.current_soul.personality.traits.CHEER_PROPENSITY + local curious = unit.status.current_soul.personality.traits.CURIOUS + local discord = unit.status.current_soul.personality.traits.DISCORD + local dutifulness = unit.status.current_soul.personality.traits.DUTIFULNESS + local emotionally_obsessive = unit.status.current_soul.personality.traits.EMOTIONALLY_OBSESSIVE + local humor = unit.status.current_soul.personality.traits.HUMOR + local love_propensity = unit.status.current_soul.personality.traits.LOVE_PROPENSITY + local perseverence = unit.status.current_soul.personality.traits.PERSEVERENCE + local politeness = unit.status.current_soul.personality.traits.POLITENESS + local privacy = unit.status.current_soul.personality.traits.PRIVACY + local stress_vulnerability = unit.status.current_soul.personality.traits.STRESS_VULNERABILITY + local tolerant = unit.status.current_soul.personality.traits.TOLERANT + + local craftsmanship = setbelief.getUnitBelief(unit, df.value_type['CRAFTSMANSHIP']) + local family = setbelief.getUnitBelief(unit, df.value_type['FAMILY']) + local harmony = setbelief.getUnitBelief(unit, df.value_type['HARMONY']) + local independence = setbelief.getUnitBelief(unit, df.value_type['INDEPENDENCE']) + local knowledge = setbelief.getUnitBelief(unit, df.value_type['KNOWLEDGE']) + local leisure_time = setbelief.getUnitBelief(unit, df.value_type['LEISURE_TIME']) + local nature = setbelief.getUnitBelief(unit, df.value_type['NATURE']) + local skill = setbelief.getUnitBelief(unit, df.value_type['SKILL']) + + -- calculate the rating using the defined variables + local rating = (craftsmanship * -0.01) + (family * -0.09) + (harmony * 0.05) + + (independence * 0.06) + (knowledge * -0.30) + (leisure_time * 0.24) + + (nature * 0.27) + (skill * -0.21) + (altruism * 0.13) + + (anxiety_propensity * -0.06) + (bravery * 0.06) + + (cheer_propensity * 0.41) + (curious * -0.06) + (discord * 0.14) + + (dutifulness * -0.03) + (emotionally_obsessive * -0.13) + + (humor * -0.05) + (love_propensity * 0.15) + (perseverence * -0.07) + + (politeness * -0.14) + (privacy * 0.03) + (stress_vulnerability * -0.20) + + (tolerant * -0.11) return rating end From 3d6d148ad71489acfd705bf0837425a6f250c73a Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Thu, 21 Sep 2023 02:40:03 +0100 Subject: [PATCH 02/70] using namespace std removed and replaced with std:: prefix, to resolve naming conflict of lerp with std::lerp in C++20 --- .../remotefortressreader.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/plugins/remotefortressreader/remotefortressreader.cpp b/plugins/remotefortressreader/remotefortressreader.cpp index 6b5733970..1570a0e60 100644 --- a/plugins/remotefortressreader/remotefortressreader.cpp +++ b/plugins/remotefortressreader/remotefortressreader.cpp @@ -130,7 +130,6 @@ using namespace DFHack; using namespace df::enums; using namespace RemoteFortressReader; -using namespace std; DFHACK_PLUGIN("RemoteFortressReader"); @@ -193,7 +192,7 @@ const char* growth_locations[] = { #include "df/art_image.h" #include "df/art_image_chunk.h" #include "df/art_image_ref.h" -command_result loadArtImageChunk(color_ostream &out, vector & parameters) +command_result loadArtImageChunk(color_ostream &out, std::vector & parameters) { if (parameters.size() != 1) return CR_WRONG_USAGE; @@ -214,7 +213,7 @@ command_result loadArtImageChunk(color_ostream &out, vector & parameter return CR_OK; } -command_result RemoteFortressReader_version(color_ostream &out, vector ¶meters) +command_result RemoteFortressReader_version(color_ostream &out, std::vector ¶meters) { out.print(RFR_VERSION); return CR_OK; @@ -645,7 +644,7 @@ void CopyMat(RemoteFortressReader::MatPair * mat, int type, int index) } -map hashes; +std::map hashes; bool IsTiletypeChanged(DFCoord pos) { @@ -663,7 +662,7 @@ bool IsTiletypeChanged(DFCoord pos) return false; } -map waterHashes; +std::map waterHashes; bool IsDesignationChanged(DFCoord pos) { @@ -681,7 +680,7 @@ bool IsDesignationChanged(DFCoord pos) return false; } -map buildingHashes; +std::map buildingHashes; bool IsBuildingChanged(DFCoord pos) { @@ -700,7 +699,7 @@ bool IsBuildingChanged(DFCoord pos) return changed; } -map spatterHashes; +std::map spatterHashes; bool IsspatterChanged(DFCoord pos) { @@ -737,7 +736,7 @@ bool IsspatterChanged(DFCoord pos) return false; } -map itemHashes; +std::map itemHashes; bool isItemChanged(int i) { @@ -755,7 +754,7 @@ bool isItemChanged(int i) return false; } -bool areItemsChanged(vector * items) +bool areItemsChanged(std::vector * items) { bool result = false; for (size_t i = 0; i < items->size(); i++) @@ -766,7 +765,7 @@ bool areItemsChanged(vector * items) return result; } -map engravingHashes; +std::map engravingHashes; bool isEngravingNew(int index) { From aa6c4094c5fd32ee6e931534cce15cd21194f4bc Mon Sep 17 00:00:00 2001 From: lethosor Date: Thu, 21 Sep 2023 01:10:52 -0400 Subject: [PATCH 03/70] Use SDL_ShowSimpleMessageBox in Core::fatal() This allows the message to be displayed consistently in a dialog on all platforms. --- library/Core.cpp | 18 ++++++++---------- library/include/modules/DFSDL.h | 2 ++ library/modules/DFSDL.cpp | 5 +++++ 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/library/Core.cpp b/library/Core.cpp index 032e2b0be..1d4f52a56 100644 --- a/library/Core.cpp +++ b/library/Core.cpp @@ -1459,12 +1459,9 @@ void Core::fatal (std::string output) con.print("\n"); } fprintf(stderr, "%s\n", out.str().c_str()); -#ifndef LINUX_BUILD - out << "Check file stderr.log for details\n"; - MessageBox(0,out.str().c_str(),"DFHack error!", MB_OK | MB_ICONERROR); -#else + out << "Check file stderr.log for details.\n"; std::cout << "DFHack fatal error: " << out.str() << std::endl; -#endif + DFSDL::DFSDL_ShowSimpleMessageBox(0x10 /* SDL_MESSAGEBOX_ERROR */, "DFHack error!", out.str().c_str(), NULL); bool is_headless = bool(getenv("DFHACK_HEADLESS")); if (is_headless) @@ -1506,6 +1503,12 @@ bool Core::InitMainThread() { std::cerr << "DFHack build: " << Version::git_description() << "\n" << "Starting with working directory: " << Filesystem::getcwd() << std::endl; + std::cerr << "Binding to SDL.\n"; + if (!DFSDL::init(con)) { + fatal("cannot bind SDL libraries"); + return false; + } + // find out what we are... #ifdef LINUX_BUILD const char * path = "hack/symbols.xml"; @@ -1692,11 +1695,6 @@ bool Core::InitSimulationThread() return false; } - std::cerr << "Binding to SDL.\n"; - if (!DFSDL::init(con)) { - fatal("cannot bind SDL libraries"); - return false; - } if (DFSteam::init(con)) { std::cerr << "Found Steam.\n"; DFSteam::launchSteamDFHackIfNecessary(con); diff --git a/library/include/modules/DFSDL.h b/library/include/modules/DFSDL.h index b70255ec8..c96147dfb 100644 --- a/library/include/modules/DFSDL.h +++ b/library/include/modules/DFSDL.h @@ -6,6 +6,7 @@ struct SDL_Surface; struct SDL_Rect; struct SDL_PixelFormat; +struct SDL_Window; union SDL_Event; namespace DFHack @@ -50,6 +51,7 @@ DFHACK_EXPORT int DFSDL_PushEvent(SDL_Event *event); DFHACK_EXPORT void DFSDL_free(void *ptr); DFHACK_EXPORT SDL_PixelFormat* DFSDL_AllocFormat(uint32_t pixel_format); DFHACK_EXPORT SDL_Surface* DFSDL_CreateRGBSurfaceWithFormat(uint32_t flags, int width, int height, int depth, uint32_t format); +DFHACK_EXPORT int DFSDL_ShowSimpleMessageBox(uint32_t flags, const char *title, const char *message, SDL_Window *window); // submitted and returned text is UTF-8 // see wrapper functions below for cp-437 variants diff --git a/library/modules/DFSDL.cpp b/library/modules/DFSDL.cpp index 398a9c8b2..4d8bb3be5 100644 --- a/library/modules/DFSDL.cpp +++ b/library/modules/DFSDL.cpp @@ -43,6 +43,7 @@ char * (*g_SDL_GetClipboardText)(); void (*g_SDL_free)(void *); SDL_PixelFormat* (*g_SDL_AllocFormat)(uint32_t pixel_format) = nullptr; SDL_Surface* (*g_SDL_CreateRGBSurfaceWithFormat)(uint32_t flags, int width, int height, int depth, uint32_t format) = nullptr; +int (*g_SDL_ShowSimpleMessageBox)(uint32_t flags, const char *title, const char *message, SDL_Window *window) = nullptr; bool DFSDL::init(color_ostream &out) { for (auto &lib_str : SDL_LIBS) { @@ -85,6 +86,7 @@ bool DFSDL::init(color_ostream &out) { bind(g_sdl_handle, SDL_free); bind(g_sdl_handle, SDL_AllocFormat); bind(g_sdl_handle, SDL_CreateRGBSurfaceWithFormat); + bind(g_sdl_handle, SDL_ShowSimpleMessageBox); #undef bind DEBUG(dfsdl,out).print("sdl successfully loaded\n"); @@ -159,6 +161,9 @@ SDL_Surface* DFSDL::DFSDL_CreateRGBSurfaceWithFormat(uint32_t flags, int width, return g_SDL_CreateRGBSurfaceWithFormat(flags, width, height, depth, format); } +int DFSDL::DFSDL_ShowSimpleMessageBox(uint32_t flags, const char *title, const char *message, SDL_Window *window) { + return g_SDL_ShowSimpleMessageBox(flags, title, message, window); +} DFHACK_EXPORT std::string DFHack::getClipboardTextCp437() { if (!g_sdl_handle || g_SDL_HasClipboardText() != SDL_TRUE) From 3af118dce985a97668b41e4108431b6dc42e22db Mon Sep 17 00:00:00 2001 From: lethosor Date: Thu, 21 Sep 2023 01:18:56 -0400 Subject: [PATCH 04/70] Check that SDL_ShowSimpleMessageBox has been bound first This function can be called before DFSDL is initialized --- library/modules/DFSDL.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/modules/DFSDL.cpp b/library/modules/DFSDL.cpp index 4d8bb3be5..dec43a1c5 100644 --- a/library/modules/DFSDL.cpp +++ b/library/modules/DFSDL.cpp @@ -162,6 +162,8 @@ SDL_Surface* DFSDL::DFSDL_CreateRGBSurfaceWithFormat(uint32_t flags, int width, } int DFSDL::DFSDL_ShowSimpleMessageBox(uint32_t flags, const char *title, const char *message, SDL_Window *window) { + if (!g_SDL_ShowSimpleMessageBox) + return -1; return g_SDL_ShowSimpleMessageBox(flags, title, message, window); } From 6f45e347affe753d5c1015b32ed3cfc8cf0c92aa Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Fri, 22 Sep 2023 12:14:41 +0100 Subject: [PATCH 05/70] digtype now doesn't designate hidden tiles for digging, instead only designating visible tiles in 'auto' mode (also changed MapCache* to unique_ptr) --- plugins/dig.cpp | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/plugins/dig.cpp b/plugins/dig.cpp index 879d0dd52..307a1f221 100644 --- a/plugins/dig.cpp +++ b/plugins/dig.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include "Core.h" #include "Console.h" @@ -1072,14 +1073,13 @@ command_result digv (color_ostream &out, vector & parameters) con.printerr("I won't dig the borders. That would be cheating!\n"); return CR_FAILURE; } - MapExtras::MapCache * MCache = new MapExtras::MapCache; + std::unique_ptr MCache = std::make_unique(); df::tile_designation des = MCache->designationAt(xy); df::tiletype tt = MCache->tiletypeAt(xy); int16_t veinmat = MCache->veinMaterialAt(xy); if( veinmat == -1 ) { con.printerr("This tile is not a vein.\n"); - delete MCache; return CR_FAILURE; } con.print("%d/%d/%d tiletype: %d, veinmat: %d, designation: 0x%x ... DIGGING!\n", cx,cy,cz, tt, veinmat, des.whole); @@ -1192,7 +1192,6 @@ command_result digv (color_ostream &out, vector & parameters) } } MCache->WriteAll(); - delete MCache; return CR_OK; } @@ -1259,7 +1258,7 @@ command_result digl (color_ostream &out, vector & parameters) con.printerr("I won't dig the borders. That would be cheating!\n"); return CR_FAILURE; } - MapExtras::MapCache * MCache = new MapExtras::MapCache; + std::unique_ptr MCache = std::make_unique(); df::tile_designation des = MCache->designationAt(xy); df::tiletype tt = MCache->tiletypeAt(xy); int16_t veinmat = MCache->veinMaterialAt(xy); @@ -1267,7 +1266,6 @@ command_result digl (color_ostream &out, vector & parameters) if( veinmat != -1 ) { con.printerr("This is a vein. Use digv instead!\n"); - delete MCache; return CR_FAILURE; } con.print("%d/%d/%d tiletype: %d, basemat: %d, designation: 0x%x ... DIGGING!\n", cx,cy,cz, tt, basemat, des.whole); @@ -1408,7 +1406,6 @@ command_result digl (color_ostream &out, vector & parameters) } } MCache->WriteAll(); - delete MCache; return CR_OK; } @@ -1462,14 +1459,21 @@ command_result digtype (color_ostream &out, vector & parameters) return CR_FAILURE; } DFHack::DFCoord xy ((uint32_t)cx,(uint32_t)cy,cz); - MapExtras::MapCache * mCache = new MapExtras::MapCache; + std::unique_ptr mCache = std::make_unique(); df::tile_designation baseDes = mCache->designationAt(xy); + + if (baseDes.bits.hidden) { + out.printerr("Cursor is pointing at a hidden tile. Point the cursor at a visible tile"); + return CR_FAILURE; + } + + df::tile_occupancy baseOcc = mCache->occupancyAt(xy); + df::tiletype tt = mCache->tiletypeAt(xy); int16_t veinmat = mCache->veinMaterialAt(xy); if( veinmat == -1 ) { out.printerr("This tile is not a vein.\n"); - delete mCache; return CR_FAILURE; } out.print("(%d,%d,%d) tiletype: %d, veinmat: %d, designation: 0x%x ... DIGGING!\n", cx,cy,cz, tt, veinmat, baseDes.whole); @@ -1486,6 +1490,8 @@ command_result digtype (color_ostream &out, vector & parameters) } } + baseOcc.bits.dig_auto = true; + for( uint32_t z = 0; z < zMax; z++ ) { for( uint32_t x = 1; x < tileXMax-1; x++ ) @@ -1506,18 +1512,22 @@ command_result digtype (color_ostream &out, vector & parameters) if ( !mCache->testCoord(current) ) { out.printerr("testCoord failed at (%d,%d,%d)\n", x, y, z); - delete mCache; return CR_FAILURE; } df::tile_designation designation = mCache->designationAt(current); + + if (designation.bits.hidden) continue; + + df::tile_occupancy occupancy = mCache->occupancyAt(current); designation.bits.dig = baseDes.bits.dig; - mCache->setDesignationAt(current, designation,priority); + occupancy.bits.dig_auto = baseOcc.bits.dig_auto; + mCache->setDesignationAt(current, designation, priority); + mCache->setOccupancyAt(current, occupancy); } } } mCache->WriteAll(); - delete mCache; return CR_OK; } From b7fcf035bcd22932a0e16f4efcea323bbd52f9ad Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Fri, 22 Sep 2023 12:18:38 +0100 Subject: [PATCH 06/70] Stopped setting auto-dig on non-default dig designations as auto-dig doesn't work for anything except for the standard 'mine' designation --- plugins/dig.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/dig.cpp b/plugins/dig.cpp index 307a1f221..7b0edf7dd 100644 --- a/plugins/dig.cpp +++ b/plugins/dig.cpp @@ -1489,8 +1489,10 @@ command_result digtype (color_ostream &out, vector & parameters) baseDes.bits.dig = tile_dig_designation::Default; } } - - baseOcc.bits.dig_auto = true; + // Auto dig only works on default dig designation. Setting dig_auto for any other designation + // prevents dwarves from digging that tile at all. + if (baseDes.bits.dig == tile_dig_designation::Default) baseOcc.bits.dig_auto = true; + else baseOcc.bits.dig_auto = false; for( uint32_t z = 0; z < zMax; z++ ) { From 2083bab2e956b1fe0b21342658619e9b0dc4b433 Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Fri, 22 Sep 2023 12:41:41 +0100 Subject: [PATCH 07/70] added a +z option to digtype --- docs/plugins/dig.rst | 7 ++++--- plugins/dig.cpp | 6 +++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/plugins/dig.rst b/docs/plugins/dig.rst index 77b3137ae..d6b6451a6 100644 --- a/docs/plugins/dig.rst +++ b/docs/plugins/dig.rst @@ -143,9 +143,10 @@ Designation options: ``clear`` Clear any designations. -You can also pass a ``-z`` option, which restricts designations to the current -z-level and down. This is useful when you don't want to designate tiles on the -same z-levels as your carefully dug fort above. +You can also pass a ``-z`` and/or a ``+z``` option, which restricts designations to the +current z-level and down/up. This is useful when you don't want to designate tiles on the +same z-levels as your carefully dug fort above/below. To dig only at the current z-level, +pass in both. digexp ------ diff --git a/plugins/dig.cpp b/plugins/dig.cpp index 7b0edf7dd..7a92a0851 100644 --- a/plugins/dig.cpp +++ b/plugins/dig.cpp @@ -1424,6 +1424,8 @@ command_result digtype (color_ostream &out, vector & parameters) uint32_t xMax,yMax,zMax; Maps::getSize(xMax,yMax,zMax); + uint32_t zMin = 0; + int32_t targetDigType = -1; for (string parameter : parameters) { if ( parameter == "clear" ) @@ -1442,6 +1444,8 @@ command_result digtype (color_ostream &out, vector & parameters) targetDigType = tile_dig_designation::UpStair; else if ( parameter == "-z" ) zMax = *window_z + 1; + else if ( parameter == "+z") + zMin = *window_z; else { out.printerr("Invalid parameter: '%s'.\n", parameter.c_str()); @@ -1494,7 +1498,7 @@ command_result digtype (color_ostream &out, vector & parameters) if (baseDes.bits.dig == tile_dig_designation::Default) baseOcc.bits.dig_auto = true; else baseOcc.bits.dig_auto = false; - for( uint32_t z = 0; z < zMax; z++ ) + for( uint32_t z = zMin; z < zMax; z++ ) { for( uint32_t x = 1; x < tileXMax-1; x++ ) { From 6fe0fb5bf92ec68abb5cc54867cb17324f273f70 Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Fri, 22 Sep 2023 12:45:33 +0100 Subject: [PATCH 08/70] removed trailing whitespace --- plugins/dig.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/dig.cpp b/plugins/dig.cpp index 7a92a0851..1379bc3db 100644 --- a/plugins/dig.cpp +++ b/plugins/dig.cpp @@ -1496,7 +1496,7 @@ command_result digtype (color_ostream &out, vector & parameters) // Auto dig only works on default dig designation. Setting dig_auto for any other designation // prevents dwarves from digging that tile at all. if (baseDes.bits.dig == tile_dig_designation::Default) baseOcc.bits.dig_auto = true; - else baseOcc.bits.dig_auto = false; + else baseOcc.bits.dig_auto = false; for( uint32_t z = zMin; z < zMax; z++ ) { From 6f26650255c2f8ecc887e20a79f46d3a966e6401 Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Fri, 1 Sep 2023 18:12:59 +0300 Subject: [PATCH 09/70] reserved texpos range --- docs/dev/Lua API.rst | 12 ++- library/LuaApi.cpp | 9 +- library/include/modules/Textures.h | 10 +- library/lua/gui/textures.lua | 22 ++-- library/modules/Textures.cpp | 118 +++++++++++++++++--- plugins/lua/hotkeys.lua | 168 +++++++++++++++-------------- plugins/pathable.cpp | 2 +- 7 files changed, 222 insertions(+), 119 deletions(-) diff --git a/docs/dev/Lua API.rst b/docs/dev/Lua API.rst index 4f182d132..9199130fe 100644 --- a/docs/dev/Lua API.rst +++ b/docs/dev/Lua API.rst @@ -2595,10 +2595,12 @@ The ``textures`` module solves this problem by providing a stable handle instead raw ``texpos``. When we need to draw a particular tile, we can look up the current ``texpos`` value via the handle. -* ``loadTileset(file, tile_px_w, tile_px_h)`` +* ``loadTileset(file, tile_px_w, tile_px_h, reserved?)`` Loads a tileset from the image ``file`` with give tile dimensions in pixels. The image will be sliced in row major order. Returns an array of ``TexposHandle``. + ``reserved`` is optional boolean argument, which indicates texpos range. + ``true`` - reserved, ``false`` - dynamic (default). Example usage:: @@ -2611,18 +2613,22 @@ raw ``texpos``. When we need to draw a particular tile, we can look up the curre get the ``texpos`` for your texture. ``texpos`` can change when game textures are reset, but the handle will be the same. -* ``createTile(pixels, tile_px_w, tile_px_h)`` +* ``createTile(pixels, tile_px_w, tile_px_h, reserved?)`` Create and register a new texture with the given tile dimensions and an array of ``pixels`` in row major order. Each pixel is an integer representing color in packed RBGA format (for example, #0022FF11). Returns a ``TexposHandle``. + ``reserved`` is optional boolean argument, which indicates texpos range. + ``true`` - reserved, ``false`` - dynamic (default). -* ``createTileset(pixels, texture_px_w, texture_px_h, tile_px_w, tile_px_h)`` +* ``createTileset(pixels, texture_px_w, texture_px_h, tile_px_w, tile_px_h, reserved?)`` Create and register a new texture with the given texture dimensions and an array of ``pixels`` in row major order. Then slice it into tiles with the given tile dimensions. Each pixel is an integer representing color in packed RBGA format (for example #0022FF11). Returns an array of ``TexposHandle``. + ``reserved`` is optional boolean argument, which indicates texpos range. + ``true`` - reserved, ``false`` - dynamic (default). * ``deleteHandle(handle)`` diff --git a/library/LuaApi.cpp b/library/LuaApi.cpp index f792cff90..5faec6d88 100644 --- a/library/LuaApi.cpp +++ b/library/LuaApi.cpp @@ -1760,7 +1760,8 @@ static int textures_loadTileset(lua_State *state) std::string file = luaL_checkstring(state, 1); auto tile_w = luaL_checkint(state, 2); auto tile_h = luaL_checkint(state, 3); - auto handles = Textures::loadTileset(file, tile_w, tile_h); + bool reserved = lua_isboolean(state, 4) ? lua_toboolean(state, 4) : false; + auto handles = Textures::loadTileset(file, tile_w, tile_h, reserved); Lua::PushVector(state, handles); return 1; } @@ -1798,7 +1799,8 @@ static int textures_createTile(lua_State *state) Lua::GetVector(state, pixels); auto tile_w = luaL_checkint(state, 2); auto tile_h = luaL_checkint(state, 3); - auto handle = Textures::createTile(pixels, tile_w, tile_h); + bool reserved = lua_isboolean(state, 4) ? lua_toboolean(state, 4) : false; + auto handle = Textures::createTile(pixels, tile_w, tile_h, reserved); Lua::Push(state, handle); return 1; } @@ -1811,7 +1813,8 @@ static int textures_createTileset(lua_State *state) auto texture_h = luaL_checkint(state, 3); auto tile_w = luaL_checkint(state, 4); auto tile_h = luaL_checkint(state, 5); - auto handles = Textures::createTileset(pixels, texture_w, texture_h, tile_w, tile_h); + bool reserved = lua_isboolean(state, 6) ? lua_toboolean(state, 6) : false; + auto handles = Textures::createTileset(pixels, texture_w, texture_h, tile_w, tile_h, reserved); Lua::PushVector(state, handles); return 1; } diff --git a/library/include/modules/Textures.h b/library/include/modules/Textures.h index 5b238a4fd..b820c3332 100644 --- a/library/include/modules/Textures.h +++ b/library/include/modules/Textures.h @@ -26,7 +26,7 @@ const uint32_t TILE_HEIGHT_PX = 12; * Load texture and get handle. * Keep it to obtain valid texpos. */ -DFHACK_EXPORT TexposHandle loadTexture(SDL_Surface* surface); +DFHACK_EXPORT TexposHandle loadTexture(SDL_Surface* surface, bool reserved = false); /** * Load tileset from image file. @@ -34,7 +34,8 @@ DFHACK_EXPORT TexposHandle loadTexture(SDL_Surface* surface); */ DFHACK_EXPORT std::vector loadTileset(const std::string& file, int tile_px_w = TILE_WIDTH_PX, - int tile_px_h = TILE_HEIGHT_PX); + int tile_px_h = TILE_HEIGHT_PX, + bool reserved = false); /** * Get texpos by handle. @@ -53,7 +54,7 @@ DFHACK_EXPORT void deleteHandle(TexposHandle handle); * Register this texture and return TexposHandle. */ DFHACK_EXPORT TexposHandle createTile(std::vector& pixels, int tile_px_w = TILE_WIDTH_PX, - int tile_px_h = TILE_HEIGHT_PX); + int tile_px_h = TILE_HEIGHT_PX, bool reserved = false); /** * Create new textures as tileset with RGBA32 format and pixels as data in row major order. @@ -62,7 +63,8 @@ DFHACK_EXPORT TexposHandle createTile(std::vector& pixels, int tile_px DFHACK_EXPORT std::vector createTileset(std::vector& pixels, int texture_px_w, int texture_px_h, int tile_px_w = TILE_WIDTH_PX, - int tile_px_h = TILE_HEIGHT_PX); + int tile_px_h = TILE_HEIGHT_PX, + bool reserved = false); /** * Call this on DFHack init just once to setup interposed handlers and diff --git a/library/lua/gui/textures.lua b/library/lua/gui/textures.lua index 6557b6e02..6dac234e0 100644 --- a/library/lua/gui/textures.lua +++ b/library/lua/gui/textures.lua @@ -6,18 +6,18 @@ local _ENV = mkmodule('gui.textures') -- Preloaded DFHack Assets. -- Use this handles if you need to get dfhack standard textures. ----@type table +---@type table local texpos_handles = { - green_pin = dfhack.textures.loadTileset('hack/data/art/green-pin.png', 8, 12), - red_pin = dfhack.textures.loadTileset('hack/data/art/red-pin.png', 8, 12), - icons = dfhack.textures.loadTileset('hack/data/art/icons.png', 8, 12), - on_off = dfhack.textures.loadTileset('hack/data/art/on-off.png', 8, 12), - control_panel = dfhack.textures.loadTileset('hack/data/art/control-panel.png', 8, 12), - border_thin = dfhack.textures.loadTileset('hack/data/art/border-thin.png', 8, 12), - border_medium = dfhack.textures.loadTileset('hack/data/art/border-medium.png', 8, 12), - border_bold = dfhack.textures.loadTileset('hack/data/art/border-bold.png', 8, 12), - border_panel = dfhack.textures.loadTileset('hack/data/art/border-panel.png', 8, 12), - border_window = dfhack.textures.loadTileset('hack/data/art/border-window.png', 8, 12), + green_pin = dfhack.textures.loadTileset('hack/data/art/green-pin.png', 8, 12, true), + red_pin = dfhack.textures.loadTileset('hack/data/art/red-pin.png', 8, 12, true), + icons = dfhack.textures.loadTileset('hack/data/art/icons.png', 8, 12, true), + on_off = dfhack.textures.loadTileset('hack/data/art/on-off.png', 8, 12, true), + control_panel = dfhack.textures.loadTileset('hack/data/art/control-panel.png', 8, 12, true), + border_thin = dfhack.textures.loadTileset('hack/data/art/border-thin.png', 8, 12, true), + border_medium = dfhack.textures.loadTileset('hack/data/art/border-medium.png', 8, 12, true), + border_bold = dfhack.textures.loadTileset('hack/data/art/border-bold.png', 8, 12, true), + border_panel = dfhack.textures.loadTileset('hack/data/art/border-panel.png', 8, 12, true), + border_window = dfhack.textures.loadTileset('hack/data/art/border-window.png', 8, 12, true), } -- Get valid texpos for preloaded texture in tileset diff --git a/library/modules/Textures.cpp b/library/modules/Textures.cpp index c957bd878..e52445f18 100644 --- a/library/modules/Textures.cpp +++ b/library/modules/Textures.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -29,8 +30,30 @@ DBG_DECLARE(core, textures, DebugCategory::LINFO); } static std::unordered_map g_handle_to_texpos; +static std::unordered_map g_handle_to_reserved_texpos; static std::unordered_map g_handle_to_surface; +static std::unordered_map> g_tileset_to_handles; static std::mutex g_adding_mutex; +static std::atomic loading_state = false; + +struct Reserved { + static void init(int32_t start) { + reserved_range.start = start; + reserved_range.end = start + Reserved::size; + reserved_range.current = start; + } + static long get_new_texpos() { + if (reserved_range.current == reserved_range.end) + return -1; + current = reserved_range.current; + reserved_range.current++; + return current; + } + static const int32_t size = 10000; // size of reserved texpos buffer + inline static int32_t start = -1; + inline static int32_t end = -1; + inline static long current = -1; +} reserved_range; // Converts an arbitrary Surface to something like the display format // (32-bit RGBA), and converts magenta to transparency if convert_magenta is set @@ -71,6 +94,12 @@ static long add_texture(SDL_Surface* surface) { return texpos; } +// register surface in texture raws to specific texpos, returns a texpos +static void insert_texture(SDL_Surface* surface, long texpos) { + std::lock_guard lg_add_texture(g_adding_mutex); + enabler->textures.raws[texpos] = surface; +} + // delete surface from texture raws static void delete_texture(long texpos) { std::lock_guard lg_add_texture(g_adding_mutex); @@ -94,7 +123,8 @@ SDL_Surface* create_texture(std::vector& pixels, int texture_px_w, int // convert single surface into tiles according w/h // register tiles in texture raws and return handles -std::vector slice_tileset(SDL_Surface* surface, int tile_px_w, int tile_px_h) { +std::vector slice_tileset(SDL_Surface* surface, int tile_px_w, int tile_px_h, + bool reserved) { std::vector handles{}; if (!surface) return handles; @@ -109,7 +139,7 @@ std::vector slice_tileset(SDL_Surface* surface, int tile_px_w, int surface->format->Bmask, surface->format->Amask); SDL_Rect vp{tile_px_w * x, tile_px_h * y, tile_px_w, tile_px_h}; DFSDL_UpperBlit(surface, &vp, tile, NULL); - auto handle = Textures::loadTexture(tile); + auto handle = Textures::loadTexture(tile, reserved); handles.push_back(handle); } } @@ -118,22 +148,38 @@ std::vector slice_tileset(SDL_Surface* surface, int tile_px_w, int return handles; } -TexposHandle Textures::loadTexture(SDL_Surface* surface) { +TexposHandle Textures::loadTexture(SDL_Surface* surface, bool reserved) { if (!surface || !enabler) return 0; // should be some error, i guess + if (loading_state) { + ERR(textures).printerr("unable to load texture during game loading\n"); + return 0; + } auto handle = reinterpret_cast(surface); g_handle_to_surface.emplace(handle, surface); surface->refcount++; // prevent destruct on next FreeSurface by game - auto texpos = add_texture(surface); - g_handle_to_texpos.emplace(handle, texpos); + if (reserved) { + auto texpos = reserved_range.get_new_texpos(); + if (texpos == -1) { + ERR(textures).printerr("reserved range limit has been reached, use dynamic range\n"); + return 0; + } + insert_texture(surface, texpos); + g_handle_to_reserved_texpos.emplace(handle, texpos); + } else { + auto texpos = add_texture(surface); + g_handle_to_texpos.emplace(handle, texpos); + } return handle; } std::vector Textures::loadTileset(const std::string& file, int tile_px_w, - int tile_px_h) { + int tile_px_h, bool reserved) { if (!enabler) return std::vector{}; + if (g_tileset_to_handles.contains(file)) + return g_tileset_to_handles[file]; SDL_Surface* surface = DFIMG_Load(file.c_str()); if (!surface) { @@ -142,10 +188,12 @@ std::vector Textures::loadTileset(const std::string& file, int til } surface = canonicalize_format(surface); - auto handles = slice_tileset(surface, tile_px_w, tile_px_h); + auto handles = slice_tileset(surface, tile_px_w, tile_px_h, reserved); - DEBUG(textures).print("loaded %zd textures from '%s'\n", handles.size(), file.c_str()); + DEBUG(textures).print("loaded %zd textures from '%s' to %s range\n", handles.size(), + file.c_str(), reserved ? "reserved" : "dynamic"); + g_tileset_to_handles[file] = handles; return handles; } @@ -153,10 +201,15 @@ long Textures::getTexposByHandle(TexposHandle handle) { if (!handle || !enabler) return -1; + if (g_handle_to_reserved_texpos.contains(handle)) + return g_handle_to_reserved_texpos[handle]; if (g_handle_to_texpos.contains(handle)) return g_handle_to_texpos[handle]; - if (g_handle_to_surface.contains(handle)) { + if (loading_state) { + ERR(textures).printerr("unable reinit texture from dynamic range during loading\n"); + return -1; + } g_handle_to_surface[handle]->refcount++; // prevent destruct on next FreeSurface by game auto texpos = add_texture(g_handle_to_surface[handle]); g_handle_to_texpos.emplace(handle, texpos); @@ -166,22 +219,24 @@ long Textures::getTexposByHandle(TexposHandle handle) { return -1; } -TexposHandle Textures::createTile(std::vector& pixels, int tile_px_w, int tile_px_h) { +TexposHandle Textures::createTile(std::vector& pixels, int tile_px_w, int tile_px_h, + bool reserved) { if (!enabler) return 0; auto texture = create_texture(pixels, tile_px_w, tile_px_h); - auto handle = Textures::loadTexture(texture); + auto handle = Textures::loadTexture(texture, reserved); return handle; } std::vector Textures::createTileset(std::vector& pixels, int texture_px_w, - int texture_px_h, int tile_px_w, int tile_px_h) { + int texture_px_h, int tile_px_w, int tile_px_h, + bool reserved) { if (!enabler) return std::vector{}; auto texture = create_texture(pixels, texture_px_w, texture_px_h); - auto handles = slice_tileset(texture, tile_px_w, tile_px_h); + auto handles = slice_tileset(texture, tile_px_w, tile_px_h, reserved); return handles; } @@ -192,6 +247,8 @@ void Textures::deleteHandle(TexposHandle handle) { auto texpos = Textures::getTexposByHandle(handle); if (texpos > 0) delete_texture(texpos); + if (g_handle_to_reserved_texpos.contains(handle)) + g_handle_to_reserved_texpos.erase(handle); if (g_handle_to_texpos.contains(handle)) g_handle_to_texpos.erase(handle); if (g_handle_to_surface.contains(handle)) { @@ -207,7 +264,18 @@ static void reset_texpos() { g_handle_to_texpos.clear(); } +static void reset_reserved_texpos() { + DEBUG(textures).print("resetting reserved texture mappings\n"); + g_handle_to_reserved_texpos.clear(); +} + +static void reset_tilesets() { + DEBUG(textures).print("resetting tileset to handle mappings\n"); + g_tileset_to_handles.clear(); +} + static void reset_surface() { + DEBUG(textures).print("deleting cached surfaces\n"); for (auto& entry : g_handle_to_surface) { DFSDL_FreeSurface(entry.second); } @@ -220,7 +288,9 @@ struct tracking_stage_new_region : df::viewscreen_new_regionst { DEFINE_VMETHOD_INTERPOSE(void, logic, ()) { if (this->m_raw_load_stage != this->raw_load_stage) { - TRACE(textures).print("raw_load_stage %d -> %d\n", this->m_raw_load_stage, this->raw_load_stage); + TRACE(textures).print("raw_load_stage %d -> %d\n", this->m_raw_load_stage, + this->raw_load_stage); + loading_state = this->raw_load_stage >= 0 && this->raw_load_stage < 3 ? true : false; this->m_raw_load_stage = this->raw_load_stage; if (this->m_raw_load_stage == 1) reset_texpos(); @@ -240,6 +310,7 @@ struct tracking_stage_adopt_region : df::viewscreen_adopt_regionst { DEFINE_VMETHOD_INTERPOSE(void, logic, ()) { if (this->m_cur_step != this->cur_step) { TRACE(textures).print("step %d -> %d\n", this->m_cur_step, this->cur_step); + loading_state = this->cur_step >= 0 && this->cur_step < 3 ? true : false; this->m_cur_step = this->cur_step; if (this->m_cur_step == 1) reset_texpos(); @@ -259,6 +330,7 @@ struct tracking_stage_load_region : df::viewscreen_loadgamest { DEFINE_VMETHOD_INTERPOSE(void, logic, ()) { if (this->m_cur_step != this->cur_step) { TRACE(textures).print("step %d -> %d\n", this->m_cur_step, this->cur_step); + loading_state = this->cur_step >= 0 && this->cur_step < 3 ? true : false; this->m_cur_step = this->cur_step; if (this->m_cur_step == 1) reset_texpos(); @@ -278,6 +350,7 @@ struct tracking_stage_new_arena : df::viewscreen_new_arenast { DEFINE_VMETHOD_INTERPOSE(void, logic, ()) { if (this->m_cur_step != this->cur_step) { TRACE(textures).print("step %d -> %d\n", this->m_cur_step, this->cur_step); + loading_state = this->cur_step >= 0 && this->cur_step < 3 ? true : false; this->m_cur_step = this->cur_step; if (this->m_cur_step == 0) reset_texpos(); @@ -304,12 +377,25 @@ static void uninstall_reset_point() { INTERPOSE_HOOK(tracking_stage_new_arena, logic).remove(); } +static void reserve_static_range() { + reserved_range.init(enabler->textures.init_texture_size); + auto dummy_surface = + DFSDL_CreateRGBSurfaceWithFormat(0, 0, 0, 32, SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA32); + for (int32_t i = 0; i < Reserved::size; i++) { + add_texture(dummy_surface); + } + enabler->textures.init_texture_size += Reserved::size; +} + void Textures::init(color_ostream& out) { if (!enabler) return; + reserve_static_range(); install_reset_point(); - DEBUG(textures, out).print("dynamic texture loading ready"); + DEBUG(textures, out) + .print("dynamic texture loading ready, reserved range %d-%d\n", reserved_range.start, + reserved_range.end); } void Textures::cleanup() { @@ -317,6 +403,8 @@ void Textures::cleanup() { return; reset_texpos(); + reset_reserved_texpos(); + reset_tilesets(); reset_surface(); uninstall_reset_point(); } diff --git a/plugins/lua/hotkeys.lua b/plugins/lua/hotkeys.lua index fae138353..4169d439a 100644 --- a/plugins/lua/hotkeys.lua +++ b/plugins/lua/hotkeys.lua @@ -5,8 +5,8 @@ local helpdb = require('helpdb') local overlay = require('plugins.overlay') local widgets = require('gui.widgets') -local logo_textures = dfhack.textures.loadTileset('hack/data/art/logo.png', 8, 12) -local logo_hovered_textures = dfhack.textures.loadTileset('hack/data/art/logo_hovered.png', 8, 12) +local logo_textures = dfhack.textures.loadTileset('hack/data/art/logo.png', 8, 12, true) +local logo_hovered_textures = dfhack.textures.loadTileset('hack/data/art/logo_hovered.png', 8, 12, true) local function get_command(cmdline) local first_word = cmdline:trim():split(' +')[1] @@ -17,8 +17,8 @@ end function should_hide_armok(cmdline) local command = get_command(cmdline) return dfhack.getHideArmokTools() and - helpdb.is_entry(command) and - helpdb.get_entry_tags(command).armok + helpdb.is_entry(command) and + helpdb.get_entry_tags(command).armok end -- ----------------- -- @@ -26,11 +26,11 @@ end -- ----------------- -- HotspotMenuWidget = defclass(HotspotMenuWidget, overlay.OverlayWidget) -HotspotMenuWidget.ATTRS{ - default_pos={x=5,y=1}, - default_enabled=true, - version=2, - viewscreens={ +HotspotMenuWidget.ATTRS { + default_pos = { x = 5, y = 1 }, + default_enabled = true, + version = 2, + viewscreens = { 'adopt_region', 'choose_game_type', -- 'choose_start_site', -- conflicts with vanilla panel layouts @@ -48,51 +48,51 @@ HotspotMenuWidget.ATTRS{ 'update_region', 'world' }, - frame={w=4, h=3} + frame = { w = 4, h = 3 } } function HotspotMenuWidget:init() local to_pen = dfhack.pen.parse local function tp(idx, ch) - return to_pen{ - tile=function() return dfhack.textures.getTexposByHandle(logo_textures[idx]) end, - ch=ch, - fg=COLOR_GREY, + return to_pen { + tile = function() return dfhack.textures.getTexposByHandle(logo_textures[idx]) end, + ch = ch, + fg = COLOR_GREY, } end local function tph(idx, ch) - return to_pen{ - tile=function() return dfhack.textures.getTexposByHandle(logo_hovered_textures[idx]) end, - ch=ch, - fg=COLOR_WHITE, + return to_pen { + tile = function() return dfhack.textures.getTexposByHandle(logo_hovered_textures[idx]) end, + ch = ch, + fg = COLOR_WHITE, } end local function get_tile_token(idx, ch) return { - tile=tp(idx, ch), - htile=tph(idx, ch), - width=1, + tile = tp(idx, ch), + htile = tph(idx, ch), + width = 1, } end - self:addviews{ - widgets.Label{ - text={ + self:addviews { + widgets.Label { + text = { get_tile_token(1, '!'), get_tile_token(2, 'D'), get_tile_token(3, 'F'), get_tile_token(4, '!'), NEWLINE, get_tile_token(5, '!'), get_tile_token(6, 'H'), get_tile_token(7, 'a'), get_tile_token(8, '!'), NEWLINE, get_tile_token(9, '!'), get_tile_token(10, 'c'), get_tile_token(11, 'k'), get_tile_token(12, '!'), }, - on_click=function() dfhack.run_command('hotkeys') end, + on_click = function() dfhack.run_command('hotkeys') end, }, } end function HotspotMenuWidget:overlay_trigger() - return MenuScreen{hotspot=self}:show() + return MenuScreen { hotspot = self }:show() end -- register the menu hotspot with the overlay -OVERLAY_WIDGETS = {menu=HotspotMenuWidget} +OVERLAY_WIDGETS = { menu = HotspotMenuWidget } -- ---- -- -- Menu -- @@ -103,15 +103,15 @@ local MAX_LIST_WIDTH = 45 local MAX_LIST_HEIGHT = 15 Menu = defclass(Menu, widgets.Panel) -Menu.ATTRS{ - hotspot=DEFAULT_NIL, +Menu.ATTRS { + hotspot = DEFAULT_NIL, } -- get a map from the binding string to a list of hotkey strings that all -- point to that binding local function get_bindings_to_hotkeys(hotkeys, bindings) local bindings_to_hotkeys = {} - for _,hotkey in ipairs(hotkeys) do + for _, hotkey in ipairs(hotkeys) do local binding = bindings[hotkey] table.insert(ensure_key(bindings_to_hotkeys, binding), hotkey) end @@ -126,17 +126,17 @@ local function get_choices(hotkeys, bindings, is_inverted) local bindings_to_hotkeys = get_bindings_to_hotkeys(hotkeys, bindings) -- build list choices - for _,hotkey in ipairs(hotkeys) do + for _, hotkey in ipairs(hotkeys) do local command = bindings[hotkey] if seen[command] then goto continue end seen[command] = true local hk_width, tokens = 0, {} - for _,hk in ipairs(bindings_to_hotkeys[command]) do + for _, hk in ipairs(bindings_to_hotkeys[command]) do if hk_width ~= 0 then table.insert(tokens, ', ') hk_width = hk_width + 2 end - table.insert(tokens, {text=hk, pen=COLOR_LIGHTGREEN}) + table.insert(tokens, { text = hk, pen = COLOR_LIGHTGREEN }) hk_width = hk_width + #hk end local command_str = command @@ -144,16 +144,20 @@ local function get_choices(hotkeys, bindings, is_inverted) local max_command_len = MAX_LIST_WIDTH - hk_width - LIST_BUFFER command_str = command:sub(1, max_command_len - 3) .. '...' end - table.insert(tokens, 1, {text=command_str}) - local choice = {icon=ARROW, command=command, text=tokens, - hk_width=hk_width} + table.insert(tokens, 1, { text = command_str }) + local choice = { + icon = ARROW, + command = command, + text = tokens, + hk_width = hk_width + } max_width = math.max(max_width, hk_width + #command_str + LIST_BUFFER) table.insert(choices, is_inverted and 1 or #choices + 1, choice) ::continue:: end -- adjust width of command fields so the hotkey tokens are right justified - for _,choice in ipairs(choices) do + for _, choice in ipairs(choices) do local command_token = choice.text[1] command_token.width = max_width - choice.hk_width - (LIST_BUFFER - 1) end @@ -164,17 +168,17 @@ end function Menu:init() local hotkeys, bindings = getHotkeys() if #hotkeys == 0 then - hotkeys = {''} - bindings = {['']='gui/launcher'} + hotkeys = { '' } + bindings = { [''] = 'gui/launcher' } end local is_inverted = not not self.hotspot.frame.b - local choices,list_width = get_choices(hotkeys, bindings, is_inverted) + local choices, list_width = get_choices(hotkeys, bindings, is_inverted) list_width = math.max(35, list_width) local list_frame = copyall(self.hotspot.frame) - local list_widget_frame = {h=math.min(#choices, MAX_LIST_HEIGHT)} + local list_widget_frame = { h = math.min(#choices, MAX_LIST_HEIGHT) } local quickstart_frame = {} list_frame.w = list_width + 2 list_frame.h = list_widget_frame.h + 4 @@ -193,51 +197,51 @@ function Menu:init() list_frame.r = math.max(0, list_frame.r + 5) end - local help_frame = {w=list_frame.w, l=list_frame.l, r=list_frame.r} + local help_frame = { w = list_frame.w, l = list_frame.l, r = list_frame.r } if list_frame.t then help_frame.t = list_frame.t + list_frame.h else help_frame.b = list_frame.b + list_frame.h end - self:addviews{ - widgets.Panel{ - view_id='list_panel', - frame=list_frame, - frame_style=gui.PANEL_FRAME, - frame_background=gui.CLEAR_PEN, - subviews={ - widgets.List{ - view_id='list', - frame=list_widget_frame, - choices=choices, - icon_width=2, - on_select=self:callback('onSelect'), - on_submit=self:callback('onSubmit'), - on_submit2=self:callback('onSubmit2'), + self:addviews { + widgets.Panel { + view_id = 'list_panel', + frame = list_frame, + frame_style = gui.PANEL_FRAME, + frame_background = gui.CLEAR_PEN, + subviews = { + widgets.List { + view_id = 'list', + frame = list_widget_frame, + choices = choices, + icon_width = 2, + on_select = self:callback('onSelect'), + on_submit = self:callback('onSubmit'), + on_submit2 = self:callback('onSubmit2'), }, - widgets.Panel{frame={h=1}}, - widgets.HotkeyLabel{ - frame=quickstart_frame, - label='Quickstart guide', - key='STRING_A063', - on_activate=function() - self:onSubmit(nil, {command='quickstart-guide'}) + widgets.Panel { frame = { h = 1 } }, + widgets.HotkeyLabel { + frame = quickstart_frame, + label = 'Quickstart guide', + key = 'STRING_A063', + on_activate = function() + self:onSubmit(nil, { command = 'quickstart-guide' }) end, }, }, }, - widgets.ResizingPanel{ - view_id='help_panel', - autoarrange_subviews=true, - frame=help_frame, - frame_style=gui.PANEL_FRAME, - frame_background=gui.CLEAR_PEN, - subviews={ - widgets.WrappedLabel{ - view_id='help', - text_to_wrap='', - scroll_keys={}, + widgets.ResizingPanel { + view_id = 'help_panel', + autoarrange_subviews = true, + frame = help_frame, + frame_style = gui.PANEL_FRAME, + frame_background = gui.CLEAR_PEN, + subviews = { + widgets.WrappedLabel { + view_id = 'help', + text_to_wrap = '', + scroll_keys = {}, }, }, }, @@ -252,7 +256,7 @@ function Menu:onSelect(_, choice) if not choice or #self.subviews == 0 then return end local command = get_command(choice.command) self.subviews.help.text_to_wrap = helpdb.is_entry(command) and - helpdb.get_entry_short_help(command) or 'Command not found' + helpdb.get_entry_short_help(command) or 'Command not found' self.subviews.help_panel:updateLayout() end @@ -302,7 +306,7 @@ end function Menu:getMouseFramePos() return self.subviews.list_panel:getMouseFramePos() or - self.subviews.help_panel:getMouseFramePos() + self.subviews.help_panel:getMouseFramePos() end function Menu:onRenderBody(dc) @@ -324,14 +328,14 @@ end MenuScreen = defclass(MenuScreen, gui.ZScreen) MenuScreen.ATTRS { - focus_path='hotkeys/menu', - initial_pause=false, - hotspot=DEFAULT_NIL, + focus_path = 'hotkeys/menu', + initial_pause = false, + hotspot = DEFAULT_NIL, } function MenuScreen:init() - self:addviews{ - Menu{hotspot=self.hotspot}, + self:addviews { + Menu { hotspot = self.hotspot }, } end diff --git a/plugins/pathable.cpp b/plugins/pathable.cpp index 12852a894..be6537d32 100644 --- a/plugins/pathable.cpp +++ b/plugins/pathable.cpp @@ -36,7 +36,7 @@ namespace DFHack { static std::vector textures; DFhackCExport command_result plugin_init(color_ostream &out, std::vector &commands) { - textures = Textures::loadTileset("hack/data/art/pathable.png", 32, 32); + textures = Textures::loadTileset("hack/data/art/pathable.png", 32, 32, true); return CR_OK; } From 5b34ac63e19599b0a2494e57cbd8761bd9737e03 Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Fri, 1 Sep 2023 18:31:19 +0300 Subject: [PATCH 10/70] fix for gcc --- library/modules/Textures.cpp | 44 +++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/library/modules/Textures.cpp b/library/modules/Textures.cpp index e52445f18..bdb1e815a 100644 --- a/library/modules/Textures.cpp +++ b/library/modules/Textures.cpp @@ -29,6 +29,27 @@ namespace DFHack { DBG_DECLARE(core, textures, DebugCategory::LINFO); } +struct ReservedRange { + void init(int32_t start) { + this->start = start; + this->end = start + ReservedRange::size; + this->current = start; + } + long get_new_texpos() { + if (this->current == this->end) + return -1; + current = this->current; + this->current++; + return current; + } + + static const int32_t size = 10000; // size of reserved texpos buffer + int32_t start = -1; + int32_t end = -1; + long current = -1; +}; + +static ReservedRange reserved_range{}; static std::unordered_map g_handle_to_texpos; static std::unordered_map g_handle_to_reserved_texpos; static std::unordered_map g_handle_to_surface; @@ -36,25 +57,6 @@ static std::unordered_map> g_tileset_to_h static std::mutex g_adding_mutex; static std::atomic loading_state = false; -struct Reserved { - static void init(int32_t start) { - reserved_range.start = start; - reserved_range.end = start + Reserved::size; - reserved_range.current = start; - } - static long get_new_texpos() { - if (reserved_range.current == reserved_range.end) - return -1; - current = reserved_range.current; - reserved_range.current++; - return current; - } - static const int32_t size = 10000; // size of reserved texpos buffer - inline static int32_t start = -1; - inline static int32_t end = -1; - inline static long current = -1; -} reserved_range; - // Converts an arbitrary Surface to something like the display format // (32-bit RGBA), and converts magenta to transparency if convert_magenta is set // and the source surface didn't already have an alpha channel. @@ -381,10 +383,10 @@ static void reserve_static_range() { reserved_range.init(enabler->textures.init_texture_size); auto dummy_surface = DFSDL_CreateRGBSurfaceWithFormat(0, 0, 0, 32, SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA32); - for (int32_t i = 0; i < Reserved::size; i++) { + for (int32_t i = 0; i < ReservedRange::size; i++) { add_texture(dummy_surface); } - enabler->textures.init_texture_size += Reserved::size; + enabler->textures.init_texture_size += ReservedRange::size; } void Textures::init(color_ostream& out) { From 469a97f78189a2f0bf86ffa7253da47df4cdf475 Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Sat, 2 Sep 2023 08:38:33 +0300 Subject: [PATCH 11/70] review --- docs/dev/Lua API.rst | 5 +++ library/modules/Textures.cpp | 76 +++++++++++++++++++++++++++++------- 2 files changed, 66 insertions(+), 15 deletions(-) diff --git a/docs/dev/Lua API.rst b/docs/dev/Lua API.rst index 9199130fe..dc1722bf4 100644 --- a/docs/dev/Lua API.rst +++ b/docs/dev/Lua API.rst @@ -2594,6 +2594,11 @@ invalidates the ``texpos`` value that used to point to that texture. The ``textures`` module solves this problem by providing a stable handle instead of a raw ``texpos``. When we need to draw a particular tile, we can look up the current ``texpos`` value via the handle. +Texture module can register textures in two ways: to reserved and dynamic ranges. +Reserved range is a limit buffer in a game texture vector, that will never be wiped. +It is good for static assets, which need to be loaded at the very beginning and will be used during the process running. +In other cases, it is better to use dynamic range. +If reserved range buffer limit has been reached, dynamic range will be used by default. * ``loadTileset(file, tile_px_w, tile_px_h, reserved?)`` diff --git a/library/modules/Textures.cpp b/library/modules/Textures.cpp index bdb1e815a..a2810dd20 100644 --- a/library/modules/Textures.cpp +++ b/library/modules/Textures.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -34,6 +35,7 @@ struct ReservedRange { this->start = start; this->end = start + ReservedRange::size; this->current = start; + this->is_installed = true; } long get_new_texpos() { if (this->current == this->end) @@ -47,6 +49,7 @@ struct ReservedRange { int32_t start = -1; int32_t end = -1; long current = -1; + bool is_installed = false; }; static ReservedRange reserved_range{}; @@ -54,6 +57,7 @@ static std::unordered_map g_handle_to_texpos; static std::unordered_map g_handle_to_reserved_texpos; static std::unordered_map g_handle_to_surface; static std::unordered_map> g_tileset_to_handles; +static std::vector g_delayed_regs; static std::mutex g_adding_mutex; static std::atomic loading_state = false; @@ -134,6 +138,12 @@ std::vector slice_tileset(SDL_Surface* surface, int tile_px_w, int int dimx = surface->w / tile_px_w; int dimy = surface->h / tile_px_h; + if (reserved && (dimx * dimy > reserved_range.end - reserved_range.current)) { + WARN(textures).print( + "there is not enough space in reserved range for whole tileset, using dynamic range\n"); + reserved = false; + } + for (int y = 0; y < dimy; y++) { for (int x = 0; x < dimx; x++) { SDL_Surface* tile = DFSDL_CreateRGBSurface( @@ -153,26 +163,35 @@ std::vector slice_tileset(SDL_Surface* surface, int tile_px_w, int TexposHandle Textures::loadTexture(SDL_Surface* surface, bool reserved) { if (!surface || !enabler) return 0; // should be some error, i guess - if (loading_state) { - ERR(textures).printerr("unable to load texture during game loading\n"); - return 0; - } + if (loading_state) + reserved = true; // use reserved range during loading for all textures auto handle = reinterpret_cast(surface); g_handle_to_surface.emplace(handle, surface); surface->refcount++; // prevent destruct on next FreeSurface by game - if (reserved) { + + if (reserved && reserved_range.is_installed) { auto texpos = reserved_range.get_new_texpos(); - if (texpos == -1) { + if (texpos != -1) { + insert_texture(surface, texpos); + g_handle_to_reserved_texpos.emplace(handle, texpos); + return handle; + } + + if (loading_state) { // if we in loading state and reserved range is full -> error ERR(textures).printerr("reserved range limit has been reached, use dynamic range\n"); return 0; } - insert_texture(surface, texpos); - g_handle_to_reserved_texpos.emplace(handle, texpos); + } + + // if we here in loading state = true, then it should be dynamic range -> delay reg + if (loading_state) { + g_delayed_regs.push_back(handle); } else { auto texpos = add_texture(surface); g_handle_to_texpos.emplace(handle, texpos); } + return handle; } @@ -192,10 +211,9 @@ std::vector Textures::loadTileset(const std::string& file, int til surface = canonicalize_format(surface); auto handles = slice_tileset(surface, tile_px_w, tile_px_h, reserved); - DEBUG(textures).print("loaded %zd textures from '%s' to %s range\n", handles.size(), - file.c_str(), reserved ? "reserved" : "dynamic"); - + DEBUG(textures).print("loaded %zd textures from '%s'\n", handles.size(), file.c_str()); g_tileset_to_handles[file] = handles; + return handles; } @@ -207,12 +225,14 @@ long Textures::getTexposByHandle(TexposHandle handle) { return g_handle_to_reserved_texpos[handle]; if (g_handle_to_texpos.contains(handle)) return g_handle_to_texpos[handle]; + if (std::find(g_delayed_regs.begin(), g_delayed_regs.end(), handle) != g_delayed_regs.end()) + return 0; if (g_handle_to_surface.contains(handle)) { - if (loading_state) { - ERR(textures).printerr("unable reinit texture from dynamic range during loading\n"); - return -1; - } g_handle_to_surface[handle]->refcount++; // prevent destruct on next FreeSurface by game + if (loading_state) { // reinit dor dynamic range during loading -> delayed + g_delayed_regs.push_back(handle); + return 0; + } auto texpos = add_texture(g_handle_to_surface[handle]); g_handle_to_texpos.emplace(handle, texpos); return texpos; @@ -284,6 +304,15 @@ static void reset_surface() { g_handle_to_surface.clear(); } +static void register_delayed_handles() { + DEBUG(textures).print("register delayed handles, size %zd\n", g_delayed_regs.size()); + for (auto& handle : g_delayed_regs) { + auto texpos = add_texture(g_handle_to_surface[handle]); + g_handle_to_texpos.emplace(handle, texpos); + } + g_delayed_regs.clear(); +} + // reset point on New Game struct tracking_stage_new_region : df::viewscreen_new_regionst { typedef df::viewscreen_new_regionst interpose_base; @@ -292,7 +321,10 @@ struct tracking_stage_new_region : df::viewscreen_new_regionst { if (this->m_raw_load_stage != this->raw_load_stage) { TRACE(textures).print("raw_load_stage %d -> %d\n", this->m_raw_load_stage, this->raw_load_stage); + bool tmp_state = loading_state; loading_state = this->raw_load_stage >= 0 && this->raw_load_stage < 3 ? true : false; + if (tmp_state != loading_state && !loading_state) + register_delayed_handles(); this->m_raw_load_stage = this->raw_load_stage; if (this->m_raw_load_stage == 1) reset_texpos(); @@ -312,7 +344,10 @@ struct tracking_stage_adopt_region : df::viewscreen_adopt_regionst { DEFINE_VMETHOD_INTERPOSE(void, logic, ()) { if (this->m_cur_step != this->cur_step) { TRACE(textures).print("step %d -> %d\n", this->m_cur_step, this->cur_step); + bool tmp_state = loading_state; loading_state = this->cur_step >= 0 && this->cur_step < 3 ? true : false; + if (tmp_state != loading_state && !loading_state) + register_delayed_handles(); this->m_cur_step = this->cur_step; if (this->m_cur_step == 1) reset_texpos(); @@ -332,7 +367,10 @@ struct tracking_stage_load_region : df::viewscreen_loadgamest { DEFINE_VMETHOD_INTERPOSE(void, logic, ()) { if (this->m_cur_step != this->cur_step) { TRACE(textures).print("step %d -> %d\n", this->m_cur_step, this->cur_step); + bool tmp_state = loading_state; loading_state = this->cur_step >= 0 && this->cur_step < 3 ? true : false; + if (tmp_state != loading_state && !loading_state) + register_delayed_handles(); this->m_cur_step = this->cur_step; if (this->m_cur_step == 1) reset_texpos(); @@ -352,7 +390,10 @@ struct tracking_stage_new_arena : df::viewscreen_new_arenast { DEFINE_VMETHOD_INTERPOSE(void, logic, ()) { if (this->m_cur_step != this->cur_step) { TRACE(textures).print("step %d -> %d\n", this->m_cur_step, this->cur_step); + bool tmp_state = loading_state; loading_state = this->cur_step >= 0 && this->cur_step < 3 ? true : false; + if (tmp_state != loading_state && !loading_state) + register_delayed_handles(); this->m_cur_step = this->cur_step; if (this->m_cur_step == 0) reset_texpos(); @@ -380,6 +421,11 @@ static void uninstall_reset_point() { } static void reserve_static_range() { + if (static_cast(enabler->textures.init_texture_size) != enabler->textures.raws.size()) { + WARN(textures).print( + "reserved range can't be installed! all textures will be loaded to dynamic range!"); + return; + } reserved_range.init(enabler->textures.init_texture_size); auto dummy_surface = DFSDL_CreateRGBSurfaceWithFormat(0, 0, 0, 32, SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA32); From 033a849de2580485daa66458502e4a87eb296190 Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Sat, 2 Sep 2023 08:40:24 +0300 Subject: [PATCH 12/70] Apply suggestions from code review Co-authored-by: Myk --- docs/dev/Lua API.rst | 6 +++--- library/modules/Textures.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/dev/Lua API.rst b/docs/dev/Lua API.rst index dc1722bf4..1cba8284e 100644 --- a/docs/dev/Lua API.rst +++ b/docs/dev/Lua API.rst @@ -2600,7 +2600,7 @@ It is good for static assets, which need to be loaded at the very beginning and In other cases, it is better to use dynamic range. If reserved range buffer limit has been reached, dynamic range will be used by default. -* ``loadTileset(file, tile_px_w, tile_px_h, reserved?)`` +* ``loadTileset(file, tile_px_w, tile_px_h[, reserved])`` Loads a tileset from the image ``file`` with give tile dimensions in pixels. The image will be sliced in row major order. Returns an array of ``TexposHandle``. @@ -2618,7 +2618,7 @@ If reserved range buffer limit has been reached, dynamic range will be used by d get the ``texpos`` for your texture. ``texpos`` can change when game textures are reset, but the handle will be the same. -* ``createTile(pixels, tile_px_w, tile_px_h, reserved?)`` +* ``createTile(pixels, tile_px_w, tile_px_h[, reserved])`` Create and register a new texture with the given tile dimensions and an array of ``pixels`` in row major order. Each pixel is an integer representing color in packed @@ -2626,7 +2626,7 @@ If reserved range buffer limit has been reached, dynamic range will be used by d ``reserved`` is optional boolean argument, which indicates texpos range. ``true`` - reserved, ``false`` - dynamic (default). -* ``createTileset(pixels, texture_px_w, texture_px_h, tile_px_w, tile_px_h, reserved?)`` +* ``createTileset(pixels, texture_px_w, texture_px_h, tile_px_w, tile_px_h[, reserved])`` Create and register a new texture with the given texture dimensions and an array of ``pixels`` in row major order. Then slice it into tiles with the given tile diff --git a/library/modules/Textures.cpp b/library/modules/Textures.cpp index a2810dd20..291b5343c 100644 --- a/library/modules/Textures.cpp +++ b/library/modules/Textures.cpp @@ -100,7 +100,7 @@ static long add_texture(SDL_Surface* surface) { return texpos; } -// register surface in texture raws to specific texpos, returns a texpos +// register surface in texture raws to specific texpos static void insert_texture(SDL_Surface* surface, long texpos) { std::lock_guard lg_add_texture(g_adding_mutex); enabler->textures.raws[texpos] = surface; From 770402a2928e576b78235a36f247cca3b98463b9 Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Sat, 2 Sep 2023 11:05:28 +0300 Subject: [PATCH 13/70] erase from delayed when deleteHandle() --- library/modules/Textures.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/library/modules/Textures.cpp b/library/modules/Textures.cpp index 291b5343c..5ece05193 100644 --- a/library/modules/Textures.cpp +++ b/library/modules/Textures.cpp @@ -273,6 +273,9 @@ void Textures::deleteHandle(TexposHandle handle) { g_handle_to_reserved_texpos.erase(handle); if (g_handle_to_texpos.contains(handle)) g_handle_to_texpos.erase(handle); + if (auto it = std::find(g_delayed_regs.begin(), g_delayed_regs.end(), handle); + it != g_delayed_regs.end()) + g_delayed_regs.erase(it); if (g_handle_to_surface.contains(handle)) { auto surface = g_handle_to_surface[handle]; while (surface->refcount) From 25cc778fce4e02784ec41aeffc46293a4093a23a Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Sun, 10 Sep 2023 11:17:24 +0300 Subject: [PATCH 14/70] review refactor --- library/modules/Textures.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/library/modules/Textures.cpp b/library/modules/Textures.cpp index 5ece05193..c8dc33c84 100644 --- a/library/modules/Textures.cpp +++ b/library/modules/Textures.cpp @@ -40,9 +40,7 @@ struct ReservedRange { long get_new_texpos() { if (this->current == this->end) return -1; - current = this->current; - this->current++; - return current; + return this->current++; } static const int32_t size = 10000; // size of reserved texpos buffer From bd4d831582e852bd36d2005d8a5ae7ca2fe5131e Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Sun, 10 Sep 2023 14:50:03 +0300 Subject: [PATCH 15/70] add flag for dummy & resolve conflicts --- library/modules/Textures.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/library/modules/Textures.cpp b/library/modules/Textures.cpp index c8dc33c84..b03821907 100644 --- a/library/modules/Textures.cpp +++ b/library/modules/Textures.cpp @@ -200,6 +200,9 @@ std::vector Textures::loadTileset(const std::string& file, int til if (g_tileset_to_handles.contains(file)) return g_tileset_to_handles[file]; + if (!enabler) + return std::vector{}; + SDL_Surface* surface = DFIMG_Load(file.c_str()); if (!surface) { ERR(textures).printerr("unable to load textures from '%s'\n", file.c_str()); @@ -428,8 +431,8 @@ static void reserve_static_range() { return; } reserved_range.init(enabler->textures.init_texture_size); - auto dummy_surface = - DFSDL_CreateRGBSurfaceWithFormat(0, 0, 0, 32, SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA32); + auto dummy_surface = DFSDL_CreateRGBSurfaceWithFormat( + SDL_DONTFREE, 0, 0, 32, SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA32); for (int32_t i = 0; i < ReservedRange::size; i++) { add_texture(dummy_surface); } From d2bc834fa960fd35d69f9a2ee252bebbe78f93c0 Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Mon, 11 Sep 2023 07:35:27 +0300 Subject: [PATCH 16/70] fix exception on close, dummy surface refcount --- library/modules/Textures.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/library/modules/Textures.cpp b/library/modules/Textures.cpp index b03821907..016a2193e 100644 --- a/library/modules/Textures.cpp +++ b/library/modules/Textures.cpp @@ -58,6 +58,7 @@ static std::unordered_map> g_tileset_to_h static std::vector g_delayed_regs; static std::mutex g_adding_mutex; static std::atomic loading_state = false; +static SDL_Surface* dummy_surface = NULL; // Converts an arbitrary Surface to something like the display format // (32-bit RGBA), and converts magenta to transparency if convert_magenta is set @@ -173,6 +174,7 @@ TexposHandle Textures::loadTexture(SDL_Surface* surface, bool reserved) { if (texpos != -1) { insert_texture(surface, texpos); g_handle_to_reserved_texpos.emplace(handle, texpos); + dummy_surface->refcount--; return handle; } @@ -431,8 +433,9 @@ static void reserve_static_range() { return; } reserved_range.init(enabler->textures.init_texture_size); - auto dummy_surface = DFSDL_CreateRGBSurfaceWithFormat( - SDL_DONTFREE, 0, 0, 32, SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA32); + dummy_surface = + DFSDL_CreateRGBSurfaceWithFormat(0, 0, 0, 32, SDL_PixelFormatEnum::SDL_PIXELFORMAT_RGBA32); + dummy_surface->refcount += ReservedRange::size; for (int32_t i = 0; i < ReservedRange::size; i++) { add_texture(dummy_surface); } From f4348095a33f66ad5ada8338a9bad1083253370c Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Sun, 24 Sep 2023 09:43:28 +0300 Subject: [PATCH 17/70] upstream --- plugins/lua/hotkeys.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/lua/hotkeys.lua b/plugins/lua/hotkeys.lua index 4169d439a..30407a8fa 100644 --- a/plugins/lua/hotkeys.lua +++ b/plugins/lua/hotkeys.lua @@ -177,6 +177,8 @@ function Menu:init() list_width = math.max(35, list_width) + list_width = math.max(35, list_width) + local list_frame = copyall(self.hotspot.frame) local list_widget_frame = { h = math.min(#choices, MAX_LIST_HEIGHT) } local quickstart_frame = {} From ae67ec05dec9d9f3b818def9616b7f5d340bcecc Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Sun, 24 Sep 2023 13:01:31 +0300 Subject: [PATCH 18/70] remove doubled check --- build/ALL_BUILD.vcxproj | 533 +++++++++ build/ALL_BUILD.vcxproj.filters | 8 + build/Continuous.vcxproj | 145 +++ build/Continuous.vcxproj.filters | 17 + build/Experimental.vcxproj | 145 +++ build/Experimental.vcxproj.filters | 17 + build/INSTALL.vcxproj | 126 +++ build/INSTALL.vcxproj.filters | 13 + build/Nightly.vcxproj | 145 +++ build/Nightly.vcxproj.filters | 17 + build/NightlyMemoryCheck.vcxproj | 145 +++ build/NightlyMemoryCheck.vcxproj.filters | 17 + build/PACKAGE.vcxproj | 132 +++ build/PACKAGE.vcxproj.filters | 13 + build/RUN_TESTS.vcxproj | 118 ++ build/RUN_TESTS.vcxproj.filters | 13 + build/ZERO_CHECK.vcxproj | 105 ++ build/ZERO_CHECK.vcxproj.filters | 13 + build/dfhack.sln | 1295 ++++++++++++++++++++++ library/modules/Textures.cpp | 3 - 20 files changed, 3017 insertions(+), 3 deletions(-) create mode 100644 build/ALL_BUILD.vcxproj create mode 100644 build/ALL_BUILD.vcxproj.filters create mode 100644 build/Continuous.vcxproj create mode 100644 build/Continuous.vcxproj.filters create mode 100644 build/Experimental.vcxproj create mode 100644 build/Experimental.vcxproj.filters create mode 100644 build/INSTALL.vcxproj create mode 100644 build/INSTALL.vcxproj.filters create mode 100644 build/Nightly.vcxproj create mode 100644 build/Nightly.vcxproj.filters create mode 100644 build/NightlyMemoryCheck.vcxproj create mode 100644 build/NightlyMemoryCheck.vcxproj.filters create mode 100644 build/PACKAGE.vcxproj create mode 100644 build/PACKAGE.vcxproj.filters create mode 100644 build/RUN_TESTS.vcxproj create mode 100644 build/RUN_TESTS.vcxproj.filters create mode 100644 build/ZERO_CHECK.vcxproj create mode 100644 build/ZERO_CHECK.vcxproj.filters create mode 100644 build/dfhack.sln diff --git a/build/ALL_BUILD.vcxproj b/build/ALL_BUILD.vcxproj new file mode 100644 index 000000000..eefddc34c --- /dev/null +++ b/build/ALL_BUILD.vcxproj @@ -0,0 +1,533 @@ + + + + x64 + + + + Release + x64 + + + RelWithDebInfo + x64 + + + + {40EA859D-1269-313F-A313-AA32B87C8935} + 10.0.22000.0 + Win32Proj + x64 + ALL_BUILD + NoUpgrade + + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + + + + E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + Always + Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp + false + Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp + false + + + + + + + {31277AF8-10A2-3494-B123-559421E08C26} + ZERO_CHECK + false + Never + + + {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA} + 3dveins + false + Never + + + {14C478D6-D815-378F-81D1-B53BBD6CBE9A} + RemoteFortressReader + false + Never + + + {3A2B0858-3B92-3598-B679-2A437C1286E0} + add-spatter + false + Never + + + {27ECEB5C-C396-32BE-93E6-4D4801692191} + autobutcher + false + Never + + + {5F63101D-75FE-31BE-9D25-6641FBBFF959} + autochop + false + Never + + + {7D67495E-4C92-37BE-BEF8-174CA37ADD21} + autoclothing + false + Never + + + {6152D284-A720-3556-A60A-7C13C89205AD} + autodump + false + Never + + + {4049FF1D-8A65-3021-B550-0DE0E63F9577} + autofarm + false + Never + + + {8CE562EE-798E-3C1B-975C-F49C6B5C84ED} + autolabor + false + Never + + + {961FD68A-49A7-3F16-9F96-16AC8236D3A3} + autonestbox + false + Never + + + {D3C67352-8290-3C4E-9F23-93DDE051AA37} + autoslab + false + Never + + + {A0486456-80E4-3492-940E-6652FF2B45B9} + binpatch + + + {386966C3-DC46-3936-AD44-35E2470C6A28} + blueprint + false + Never + + + {02D9B109-1602-3567-80C0-3BF354675829} + buildingplan + false + Never + + + {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA} + changeitem + false + Never + + + {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515} + changelayer + false + Never + + + {76B00654-E15A-3E4F-8C41-DDC63A14246A} + changevein + false + Never + + + {D7DF31C2-3247-31BA-A745-DF4095334504} + channel-safely + false + Never + + + {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204} + cleanconst + false + Never + + + {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5} + cleaners + false + Never + + + {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB} + cleanowned + false + Never + + + {BAABB124-4999-3462-AF35-16DB3C974D7C} + confirm + false + Never + + + {6F451C91-A082-3981-83D5-65844ED16BDA} + createitem + false + Never + + + {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80} + cursecheck + false + Never + + + {AB8FA0F9-1482-31F8-87E2-E3C7BB178053} + cxxrandom + false + Never + + + {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212} + debug + false + Never + + + {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20} + deramp + false + Never + + + {5347E62F-7AEB-3B7C-B480-161A35974C9E} + design + false + Never + + + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + dfhack + + + {136AD85C-398C-329A-84AC-AD4481963950} + dfhack-client + + + {78DBE964-AC8C-3264-903B-2B102B46D476} + dfhack-run + + + {5DC5A20B-821C-3008-A247-B08677276F56} + dfhack-version + + + {D3A6760C-34FD-3EE2-B9CC-24647168DC6A} + dig + false + Never + + + {AFC95A6A-BDBB-35E2-9381-253284E1112D} + dig-now + false + Never + + + {0AED7AC4-8C48-3205-AF43-3D536A60D815} + dwarfvet + false + Never + + + {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96} + eventful + false + Never + + + {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} + expat + + + {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7} + fastdwarf + false + Never + + + {47842A81-7497-313E-B466-C60AE89334CB} + faststart + false + Never + + + {25303A98-8EE4-3355-8C68-CFA8B4116EF0} + filltraffic + false + Never + + + {A80E6C37-1E31-3DDC-A4FE-B21553E580DB} + flows + false + Never + + + {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA} + getplants + false + Never + + + {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD} + hotkeys + false + Never + + + {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B} + lair + false + Never + + + {21572060-CA28-355B-A508-5675A4A2FAB3} + liquids + false + Never + + + {F1206958-458C-3F18-84D9-3EEE07B73862} + logistics + false + Never + + + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + lua + + + {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3} + luasocket + false + Never + + + {419297F2-C54C-3C4B-91AB-7B119D09E730} + misery + false + Never + + + {8F94C6B8-42CE-329C-B6A9-3E13C04350CF} + nestboxes + false + Never + + + {7FF993D7-A6D3-37CC-AE69-2906ECD89E03} + orders + false + Never + + + {374D8559-CBBF-3F24-BEE1-8B11A184B7F8} + overlay + false + Never + + + {4E197970-E280-3B04-AD7D-E52DC551E902} + pathable + false + Never + + + {4E6C8BD2-2434-31DC-BDD2-8788D2547403} + probe + false + Never + + + {37629CF4-1B6A-312A-89B7-CF11593F51A4} + prospector + false + Never + + + {8D195538-264D-3C39-AB9A-653DA8A6F56E} + protobuf + + + {9302E53B-085D-3577-A3E2-EB51A51D084C} + protobuf-lite + + + {1C17AAAA-9E99-32C1-9FF6-E88C054A2646} + protoc + + + {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} + protoc-bin + + + {E36DC20B-AE7A-3449-B308-C932B9DD4290} + regrass + false + Never + + + {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121} + reveal + false + Never + + + {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3} + seedwatch + false + Never + + + {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2} + showmood + false + Never + + + {C080819A-4275-3D2A-84DE-7C21EDAE2BBA} + sort + false + Never + + + {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F} + stockpiles + false + Never + + + {6579683E-AB4A-3B40-A145-1952047837D2} + strangemood + false + Never + + + {2FE38842-BDF7-3A93-9D06-1C9814B6B11B} + tailor + false + Never + + + {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C} + tiletypes + false + Never + + + {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4} + work-now + false + Never + + + {C884F97B-4C5C-3457-AF4D-BB4C05670662} + workflow + false + Never + + + {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D} + xlsxio_read_STATIC + + + {796760C3-71E4-32AD-A9C4-B984AFC97106} + xlsxio_write_STATIC + + + {8054C91C-5221-314F-96C5-8FEC57BBEED1} + xlsxreader + false + Never + + + {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} + zip + + + {3B9F42C2-0060-329E-B123-7DEF1E91617D} + zone + false + Never + + + + + + \ No newline at end of file diff --git a/build/ALL_BUILD.vcxproj.filters b/build/ALL_BUILD.vcxproj.filters new file mode 100644 index 000000000..a80df604e --- /dev/null +++ b/build/ALL_BUILD.vcxproj.filters @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/build/Continuous.vcxproj b/build/Continuous.vcxproj new file mode 100644 index 000000000..63a376abe --- /dev/null +++ b/build/Continuous.vcxproj @@ -0,0 +1,145 @@ + + + + x64 + + + + Release + x64 + + + RelWithDebInfo + x64 + + + + {D7C70C41-500D-35F8-A992-1351DDDCDA0C} + 10.0.22000.0 + Win32Proj + x64 + Continuous + NoUpgrade + + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + + + + E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + + setlocal +"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D Continuous +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\Continuous + false + false + + setlocal +"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D Continuous +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\Continuous + false + false + + + + + Always + Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp + false + Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp + false + + + + + + + + + {31277AF8-10A2-3494-B123-559421E08C26} + ZERO_CHECK + false + Never + + + + + + \ No newline at end of file diff --git a/build/Continuous.vcxproj.filters b/build/Continuous.vcxproj.filters new file mode 100644 index 000000000..a7314dd00 --- /dev/null +++ b/build/Continuous.vcxproj.filters @@ -0,0 +1,17 @@ + + + + + CMake Rules + + + + + + + + + {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} + + + diff --git a/build/Experimental.vcxproj b/build/Experimental.vcxproj new file mode 100644 index 000000000..396a79388 --- /dev/null +++ b/build/Experimental.vcxproj @@ -0,0 +1,145 @@ + + + + x64 + + + + Release + x64 + + + RelWithDebInfo + x64 + + + + {474F765F-548E-3AAB-8D5B-66CF364BE4B2} + 10.0.22000.0 + Win32Proj + x64 + Experimental + NoUpgrade + + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + + + + E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + + setlocal +"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D Experimental +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\Experimental + false + false + + setlocal +"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D Experimental +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\Experimental + false + false + + + + + Always + Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp + false + Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp + false + + + + + + + + + {31277AF8-10A2-3494-B123-559421E08C26} + ZERO_CHECK + false + Never + + + + + + \ No newline at end of file diff --git a/build/Experimental.vcxproj.filters b/build/Experimental.vcxproj.filters new file mode 100644 index 000000000..8622c11e8 --- /dev/null +++ b/build/Experimental.vcxproj.filters @@ -0,0 +1,17 @@ + + + + + CMake Rules + + + + + + + + + {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} + + + diff --git a/build/INSTALL.vcxproj b/build/INSTALL.vcxproj new file mode 100644 index 000000000..fcc0e5dd0 --- /dev/null +++ b/build/INSTALL.vcxproj @@ -0,0 +1,126 @@ + + + + x64 + + + + Release + x64 + + + RelWithDebInfo + x64 + + + + {07ADCCA9-7D16-3F3D-AB6F-1BDA83D4E943} + 10.0.22000.0 + Win32Proj + x64 + INSTALL + NoUpgrade + + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + + + + Always + + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + + + + + Always + + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + + + + + + setlocal +cd . +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\INSTALL_force + false + false + + setlocal +cd . +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\INSTALL_force + false + false + + + + + {31277AF8-10A2-3494-B123-559421E08C26} + ZERO_CHECK + false + Never + + + {40EA859D-1269-313F-A313-AA32B87C8935} + ALL_BUILD + false + Never + + + + + + \ No newline at end of file diff --git a/build/INSTALL.vcxproj.filters b/build/INSTALL.vcxproj.filters new file mode 100644 index 000000000..1d3583629 --- /dev/null +++ b/build/INSTALL.vcxproj.filters @@ -0,0 +1,13 @@ + + + + + CMake Rules + + + + + {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} + + + diff --git a/build/Nightly.vcxproj b/build/Nightly.vcxproj new file mode 100644 index 000000000..ff59ec296 --- /dev/null +++ b/build/Nightly.vcxproj @@ -0,0 +1,145 @@ + + + + x64 + + + + Release + x64 + + + RelWithDebInfo + x64 + + + + {246A2207-0D75-3894-8E4E-785344D8ABF4} + 10.0.22000.0 + Win32Proj + x64 + Nightly + NoUpgrade + + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + + + + E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + + setlocal +"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D Nightly +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\Nightly + false + false + + setlocal +"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D Nightly +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\Nightly + false + false + + + + + Always + Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp + false + Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp + false + + + + + + + + + {31277AF8-10A2-3494-B123-559421E08C26} + ZERO_CHECK + false + Never + + + + + + \ No newline at end of file diff --git a/build/Nightly.vcxproj.filters b/build/Nightly.vcxproj.filters new file mode 100644 index 000000000..cf94569d8 --- /dev/null +++ b/build/Nightly.vcxproj.filters @@ -0,0 +1,17 @@ + + + + + CMake Rules + + + + + + + + + {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} + + + diff --git a/build/NightlyMemoryCheck.vcxproj b/build/NightlyMemoryCheck.vcxproj new file mode 100644 index 000000000..260a79e55 --- /dev/null +++ b/build/NightlyMemoryCheck.vcxproj @@ -0,0 +1,145 @@ + + + + x64 + + + + Release + x64 + + + RelWithDebInfo + x64 + + + + {93318712-66D7-31F1-B537-E229E2FD9AF0} + 10.0.22000.0 + Win32Proj + x64 + NightlyMemoryCheck + NoUpgrade + + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + + + + E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + + setlocal +"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D NightlyMemoryCheck +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\NightlyMemoryCheck + false + false + + setlocal +"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D NightlyMemoryCheck +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\NightlyMemoryCheck + false + false + + + + + Always + Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp + false + Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp + false + + + + + + + + + {31277AF8-10A2-3494-B123-559421E08C26} + ZERO_CHECK + false + Never + + + + + + \ No newline at end of file diff --git a/build/NightlyMemoryCheck.vcxproj.filters b/build/NightlyMemoryCheck.vcxproj.filters new file mode 100644 index 000000000..a4b92fdc7 --- /dev/null +++ b/build/NightlyMemoryCheck.vcxproj.filters @@ -0,0 +1,17 @@ + + + + + CMake Rules + + + + + + + + + {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} + + + diff --git a/build/PACKAGE.vcxproj b/build/PACKAGE.vcxproj new file mode 100644 index 000000000..67c1c92dc --- /dev/null +++ b/build/PACKAGE.vcxproj @@ -0,0 +1,132 @@ + + + + x64 + + + + Release + x64 + + + RelWithDebInfo + x64 + + + + {F20BBC06-43D9-375A-A5A9-E717817CF640} + 10.0.22000.0 + Win32Proj + x64 + PACKAGE + NoUpgrade + + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + + + + + setlocal +cd E:\programming\cplus\dfhack\build +if %errorlevel% neq 0 goto :cmEnd +E: +if %errorlevel% neq 0 goto :cmEnd +"C:\Program Files\CMake\bin\cpack.exe" -C $(Configuration) --config ./CPackConfig.cmake +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + + + + + + setlocal +cd E:\programming\cplus\dfhack\build +if %errorlevel% neq 0 goto :cmEnd +E: +if %errorlevel% neq 0 goto :cmEnd +"C:\Program Files\CMake\bin\cpack.exe" -C $(Configuration) --config ./CPackConfig.cmake +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + + + + + + setlocal +cd . +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\PACKAGE_force + false + false + + setlocal +cd . +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\PACKAGE_force + false + false + + + + + {31277AF8-10A2-3494-B123-559421E08C26} + ZERO_CHECK + false + Never + + + {40EA859D-1269-313F-A313-AA32B87C8935} + ALL_BUILD + false + Never + + + + + + \ No newline at end of file diff --git a/build/PACKAGE.vcxproj.filters b/build/PACKAGE.vcxproj.filters new file mode 100644 index 000000000..8c2a983bf --- /dev/null +++ b/build/PACKAGE.vcxproj.filters @@ -0,0 +1,13 @@ + + + + + CMake Rules + + + + + {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} + + + diff --git a/build/RUN_TESTS.vcxproj b/build/RUN_TESTS.vcxproj new file mode 100644 index 000000000..197f2baf3 --- /dev/null +++ b/build/RUN_TESTS.vcxproj @@ -0,0 +1,118 @@ + + + + x64 + + + + Release + x64 + + + RelWithDebInfo + x64 + + + + {45641EBC-7207-3F33-8572-930EA9BD4C6B} + 10.0.22000.0 + Win32Proj + x64 + RUN_TESTS + NoUpgrade + + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + + + + + setlocal +"C:\Program Files\CMake\bin\ctest.exe" --force-new-ctest-process -C $(Configuration) +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + + + + + + setlocal +"C:\Program Files\CMake\bin\ctest.exe" --force-new-ctest-process -C $(Configuration) +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + + + + + + setlocal +cd . +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\RUN_TESTS_force + false + false + + setlocal +cd . +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\RUN_TESTS_force + false + false + + + + + {31277AF8-10A2-3494-B123-559421E08C26} + ZERO_CHECK + false + Never + + + + + + \ No newline at end of file diff --git a/build/RUN_TESTS.vcxproj.filters b/build/RUN_TESTS.vcxproj.filters new file mode 100644 index 000000000..9b4c15921 --- /dev/null +++ b/build/RUN_TESTS.vcxproj.filters @@ -0,0 +1,13 @@ + + + + + CMake Rules + + + + + {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} + + + diff --git a/build/ZERO_CHECK.vcxproj b/build/ZERO_CHECK.vcxproj new file mode 100644 index 000000000..c71698f74 --- /dev/null +++ b/build/ZERO_CHECK.vcxproj @@ -0,0 +1,105 @@ + + + + x64 + + + + Release + x64 + + + RelWithDebInfo + x64 + + + + {31277AF8-10A2-3494-B123-559421E08C26} + 10.0.22000.0 + Win32Proj + x64 + ZERO_CHECK + NoUpgrade + + + + Utility + MultiByte + v143 + + + Utility + MultiByte + v143 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + $(Platform)\$(Configuration)\$(ProjectName)\ + $(Platform)\$(Configuration)\$(ProjectName)\ + + + + E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + + + Always + Checking Build System + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-list CMakeFiles/generate.stamp.list --vs-solution-file E:/programming/cplus/dfhack/build/dfhack.sln +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\CMake\share\cmake-3.22\Modules\BasicConfigVersion-AnyNewerVersion.cmake.in;C:\Program Files\CMake\share\cmake-3.22\Modules\BasicConfigVersion-SameMajorVersion.cmake.in;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCheckCompilerFlagCommonPatterns.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakePackageConfigHelpers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCCompilerFlag.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCSourceRuns.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSymbolExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckFunctionExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckIncludeFile.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckIncludeFileCXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckIncludeFiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckLibraryExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckStructHasMember.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckSymbolExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckTypeSize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\GNUInstallDirs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckCompilerFlag.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceRuns.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\TestBigEndian.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\WriteBasicConfigVersionFile.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\CMakeLists.txt;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;E:\programming\cplus\dfhack\data\CMakeLists.txt;E:\programming\cplus\dfhack\depends\CMakeLists.txt;E:\programming\cplus\dfhack\depends\clsocket\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\cmake\JoinPaths.cmake;E:\programming\cplus\dfhack\depends\jsoncpp-sub\include\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\include\PreventInBuildInstalls.cmake;E:\programming\cplus\dfhack\depends\jsoncpp-sub\include\PreventInSourceBuilds.cmake;E:\programming\cplus\dfhack\depends\jsoncpp-sub\pkg-config\jsoncpp.pc.in;E:\programming\cplus\dfhack\depends\jsoncpp-sub\src\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\src\lib_json\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\version.in;E:\programming\cplus\dfhack\depends\libexpat\expat\CMakeLists.txt;E:\programming\cplus\dfhack\depends\libexpat\expat\Changes;E:\programming\cplus\dfhack\depends\libexpat\expat\ConfigureChecks.cmake;E:\programming\cplus\dfhack\depends\libexpat\expat\cmake\expat-config.cmake.in;E:\programming\cplus\dfhack\depends\libexpat\expat\expat_config.h.cmake;E:\programming\cplus\dfhack\depends\libzip\CMakeLists.txt;E:\programming\cplus\dfhack\depends\libzip\cmake-config.h.in;E:\programming\cplus\dfhack\depends\libzip\cmake-zipconf.h.in;E:\programming\cplus\dfhack\depends\libzip\cmake\Dist.cmake;E:\programming\cplus\dfhack\depends\libzip\lib\CMakeLists.txt;E:\programming\cplus\dfhack\depends\libzip\libzip-config.cmake.in;E:\programming\cplus\dfhack\depends\libzip\libzip.pc.in;E:\programming\cplus\dfhack\depends\libzip\regress\nihtest.conf.in;E:\programming\cplus\dfhack\depends\libzip\regress\runtest.in;E:\programming\cplus\dfhack\depends\lodepng\CMakeLists.txt;E:\programming\cplus\dfhack\depends\lua\CMakeLists.txt;E:\programming\cplus\dfhack\depends\md5\CMakeLists.txt;E:\programming\cplus\dfhack\depends\protobuf\CMakeLists.txt;E:\programming\cplus\dfhack\depends\protobuf\config.h.in;E:\programming\cplus\dfhack\depends\tinyxml\CMakeLists.txt;E:\programming\cplus\dfhack\depends\tthread\CMakeLists.txt;E:\programming\cplus\dfhack\depends\xlsxio\CMakeLists.txt;E:\programming\cplus\dfhack\library\CMakeLists.txt;E:\programming\cplus\dfhack\library\git-describe.cmake.in;E:\programming\cplus\dfhack\library\xml\CMakeLists.txt;E:\programming\cplus\dfhack\library\xml\tools\CMakeLists.txt;E:\programming\cplus\dfhack\package\windows\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\Plugins.cmake;E:\programming\cplus\dfhack\plugins\autolabor\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\buildingplan\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\channel-safely\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\external\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\remotefortressreader\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\stockpiles\CMakeLists.txt;E:\programming\cplus\dfhack\scripts\CMakeLists.txt;%(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\lodepng\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\lua\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\md5\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\protobuf\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\tinyxml\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\tthread\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\src\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\src\lib_json\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\include\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\clsocket\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\libexpat\expat\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\libzip\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\libzip\lib\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\xlsxio\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\library\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\library\xml\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\library\xml\tools\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\autolabor\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\buildingplan\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\channel-safely\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\remotefortressreader\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\stockpiles\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\external\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\data\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\scripts\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\package\windows\CMakeFiles\generate.stamp + false + Checking Build System + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-list CMakeFiles/generate.stamp.list --vs-solution-file E:/programming/cplus/dfhack/build/dfhack.sln +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + C:\Program Files\CMake\share\cmake-3.22\Modules\BasicConfigVersion-AnyNewerVersion.cmake.in;C:\Program Files\CMake\share\cmake-3.22\Modules\BasicConfigVersion-SameMajorVersion.cmake.in;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCheckCompilerFlagCommonPatterns.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakePackageConfigHelpers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCCompilerFlag.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCSourceRuns.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSymbolExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckFunctionExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckIncludeFile.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckIncludeFileCXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckIncludeFiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckLibraryExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckStructHasMember.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckSymbolExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckTypeSize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\GNUInstallDirs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckCompilerFlag.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceRuns.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\TestBigEndian.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\WriteBasicConfigVersionFile.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\CMakeLists.txt;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;E:\programming\cplus\dfhack\data\CMakeLists.txt;E:\programming\cplus\dfhack\depends\CMakeLists.txt;E:\programming\cplus\dfhack\depends\clsocket\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\cmake\JoinPaths.cmake;E:\programming\cplus\dfhack\depends\jsoncpp-sub\include\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\include\PreventInBuildInstalls.cmake;E:\programming\cplus\dfhack\depends\jsoncpp-sub\include\PreventInSourceBuilds.cmake;E:\programming\cplus\dfhack\depends\jsoncpp-sub\pkg-config\jsoncpp.pc.in;E:\programming\cplus\dfhack\depends\jsoncpp-sub\src\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\src\lib_json\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\version.in;E:\programming\cplus\dfhack\depends\libexpat\expat\CMakeLists.txt;E:\programming\cplus\dfhack\depends\libexpat\expat\Changes;E:\programming\cplus\dfhack\depends\libexpat\expat\ConfigureChecks.cmake;E:\programming\cplus\dfhack\depends\libexpat\expat\cmake\expat-config.cmake.in;E:\programming\cplus\dfhack\depends\libexpat\expat\expat_config.h.cmake;E:\programming\cplus\dfhack\depends\libzip\CMakeLists.txt;E:\programming\cplus\dfhack\depends\libzip\cmake-config.h.in;E:\programming\cplus\dfhack\depends\libzip\cmake-zipconf.h.in;E:\programming\cplus\dfhack\depends\libzip\cmake\Dist.cmake;E:\programming\cplus\dfhack\depends\libzip\lib\CMakeLists.txt;E:\programming\cplus\dfhack\depends\libzip\libzip-config.cmake.in;E:\programming\cplus\dfhack\depends\libzip\libzip.pc.in;E:\programming\cplus\dfhack\depends\libzip\regress\nihtest.conf.in;E:\programming\cplus\dfhack\depends\libzip\regress\runtest.in;E:\programming\cplus\dfhack\depends\lodepng\CMakeLists.txt;E:\programming\cplus\dfhack\depends\lua\CMakeLists.txt;E:\programming\cplus\dfhack\depends\md5\CMakeLists.txt;E:\programming\cplus\dfhack\depends\protobuf\CMakeLists.txt;E:\programming\cplus\dfhack\depends\protobuf\config.h.in;E:\programming\cplus\dfhack\depends\tinyxml\CMakeLists.txt;E:\programming\cplus\dfhack\depends\tthread\CMakeLists.txt;E:\programming\cplus\dfhack\depends\xlsxio\CMakeLists.txt;E:\programming\cplus\dfhack\library\CMakeLists.txt;E:\programming\cplus\dfhack\library\git-describe.cmake.in;E:\programming\cplus\dfhack\library\xml\CMakeLists.txt;E:\programming\cplus\dfhack\library\xml\tools\CMakeLists.txt;E:\programming\cplus\dfhack\package\windows\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\Plugins.cmake;E:\programming\cplus\dfhack\plugins\autolabor\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\buildingplan\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\channel-safely\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\external\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\remotefortressreader\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\stockpiles\CMakeLists.txt;E:\programming\cplus\dfhack\scripts\CMakeLists.txt;%(AdditionalInputs) + E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\lodepng\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\lua\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\md5\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\protobuf\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\tinyxml\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\tthread\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\src\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\src\lib_json\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\include\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\clsocket\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\libexpat\expat\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\libzip\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\libzip\lib\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\xlsxio\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\library\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\library\xml\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\library\xml\tools\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\autolabor\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\buildingplan\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\channel-safely\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\remotefortressreader\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\stockpiles\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\external\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\data\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\scripts\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\package\windows\CMakeFiles\generate.stamp + false + + + + + + + + + + \ No newline at end of file diff --git a/build/ZERO_CHECK.vcxproj.filters b/build/ZERO_CHECK.vcxproj.filters new file mode 100644 index 000000000..2c79705a5 --- /dev/null +++ b/build/ZERO_CHECK.vcxproj.filters @@ -0,0 +1,13 @@ + + + + + CMake Rules + + + + + {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} + + + diff --git a/build/dfhack.sln b/build/dfhack.sln new file mode 100644 index 000000000..83a916c71 --- /dev/null +++ b/build/dfhack.sln @@ -0,0 +1,1295 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CMakePredefinedTargets", "CMakePredefinedTargets", "{28D9607F-8931-375B-9273-9E20D2F6347F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CTestDashboardTargets", "CTestDashboardTargets", "{068CE9B1-E6DD-3864-AC38-93F10EF27A17}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Depends", "Depends", "{D8D353CC-1D2C-3A83-8EA0-A85D6CF14722}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{25456F37-E968-3921-80E5-1C0E141753B6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALL_BUILD", "ALL_BUILD.vcxproj", "{40EA859D-1269-313F-A313-AA32B87C8935}" + ProjectSection(ProjectDependencies) = postProject + {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA} = {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA} + {14C478D6-D815-378F-81D1-B53BBD6CBE9A} = {14C478D6-D815-378F-81D1-B53BBD6CBE9A} + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {3A2B0858-3B92-3598-B679-2A437C1286E0} = {3A2B0858-3B92-3598-B679-2A437C1286E0} + {27ECEB5C-C396-32BE-93E6-4D4801692191} = {27ECEB5C-C396-32BE-93E6-4D4801692191} + {5F63101D-75FE-31BE-9D25-6641FBBFF959} = {5F63101D-75FE-31BE-9D25-6641FBBFF959} + {7D67495E-4C92-37BE-BEF8-174CA37ADD21} = {7D67495E-4C92-37BE-BEF8-174CA37ADD21} + {6152D284-A720-3556-A60A-7C13C89205AD} = {6152D284-A720-3556-A60A-7C13C89205AD} + {4049FF1D-8A65-3021-B550-0DE0E63F9577} = {4049FF1D-8A65-3021-B550-0DE0E63F9577} + {8CE562EE-798E-3C1B-975C-F49C6B5C84ED} = {8CE562EE-798E-3C1B-975C-F49C6B5C84ED} + {961FD68A-49A7-3F16-9F96-16AC8236D3A3} = {961FD68A-49A7-3F16-9F96-16AC8236D3A3} + {D3C67352-8290-3C4E-9F23-93DDE051AA37} = {D3C67352-8290-3C4E-9F23-93DDE051AA37} + {A0486456-80E4-3492-940E-6652FF2B45B9} = {A0486456-80E4-3492-940E-6652FF2B45B9} + {386966C3-DC46-3936-AD44-35E2470C6A28} = {386966C3-DC46-3936-AD44-35E2470C6A28} + {02D9B109-1602-3567-80C0-3BF354675829} = {02D9B109-1602-3567-80C0-3BF354675829} + {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA} = {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA} + {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515} = {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515} + {76B00654-E15A-3E4F-8C41-DDC63A14246A} = {76B00654-E15A-3E4F-8C41-DDC63A14246A} + {D7DF31C2-3247-31BA-A745-DF4095334504} = {D7DF31C2-3247-31BA-A745-DF4095334504} + {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204} = {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204} + {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5} = {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5} + {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB} = {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB} + {BAABB124-4999-3462-AF35-16DB3C974D7C} = {BAABB124-4999-3462-AF35-16DB3C974D7C} + {6F451C91-A082-3981-83D5-65844ED16BDA} = {6F451C91-A082-3981-83D5-65844ED16BDA} + {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80} = {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80} + {AB8FA0F9-1482-31F8-87E2-E3C7BB178053} = {AB8FA0F9-1482-31F8-87E2-E3C7BB178053} + {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212} = {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212} + {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20} = {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20} + {5347E62F-7AEB-3B7C-B480-161A35974C9E} = {5347E62F-7AEB-3B7C-B480-161A35974C9E} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {136AD85C-398C-329A-84AC-AD4481963950} = {136AD85C-398C-329A-84AC-AD4481963950} + {78DBE964-AC8C-3264-903B-2B102B46D476} = {78DBE964-AC8C-3264-903B-2B102B46D476} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {D3A6760C-34FD-3EE2-B9CC-24647168DC6A} = {D3A6760C-34FD-3EE2-B9CC-24647168DC6A} + {AFC95A6A-BDBB-35E2-9381-253284E1112D} = {AFC95A6A-BDBB-35E2-9381-253284E1112D} + {0AED7AC4-8C48-3205-AF43-3D536A60D815} = {0AED7AC4-8C48-3205-AF43-3D536A60D815} + {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96} = {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96} + {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} = {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} + {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7} = {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7} + {47842A81-7497-313E-B466-C60AE89334CB} = {47842A81-7497-313E-B466-C60AE89334CB} + {25303A98-8EE4-3355-8C68-CFA8B4116EF0} = {25303A98-8EE4-3355-8C68-CFA8B4116EF0} + {A80E6C37-1E31-3DDC-A4FE-B21553E580DB} = {A80E6C37-1E31-3DDC-A4FE-B21553E580DB} + {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA} = {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA} + {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD} = {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD} + {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B} = {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B} + {21572060-CA28-355B-A508-5675A4A2FAB3} = {21572060-CA28-355B-A508-5675A4A2FAB3} + {F1206958-458C-3F18-84D9-3EEE07B73862} = {F1206958-458C-3F18-84D9-3EEE07B73862} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3} = {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3} + {419297F2-C54C-3C4B-91AB-7B119D09E730} = {419297F2-C54C-3C4B-91AB-7B119D09E730} + {8F94C6B8-42CE-329C-B6A9-3E13C04350CF} = {8F94C6B8-42CE-329C-B6A9-3E13C04350CF} + {7FF993D7-A6D3-37CC-AE69-2906ECD89E03} = {7FF993D7-A6D3-37CC-AE69-2906ECD89E03} + {374D8559-CBBF-3F24-BEE1-8B11A184B7F8} = {374D8559-CBBF-3F24-BEE1-8B11A184B7F8} + {4E197970-E280-3B04-AD7D-E52DC551E902} = {4E197970-E280-3B04-AD7D-E52DC551E902} + {4E6C8BD2-2434-31DC-BDD2-8788D2547403} = {4E6C8BD2-2434-31DC-BDD2-8788D2547403} + {37629CF4-1B6A-312A-89B7-CF11593F51A4} = {37629CF4-1B6A-312A-89B7-CF11593F51A4} + {8D195538-264D-3C39-AB9A-653DA8A6F56E} = {8D195538-264D-3C39-AB9A-653DA8A6F56E} + {9302E53B-085D-3577-A3E2-EB51A51D084C} = {9302E53B-085D-3577-A3E2-EB51A51D084C} + {1C17AAAA-9E99-32C1-9FF6-E88C054A2646} = {1C17AAAA-9E99-32C1-9FF6-E88C054A2646} + {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} = {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} + {E36DC20B-AE7A-3449-B308-C932B9DD4290} = {E36DC20B-AE7A-3449-B308-C932B9DD4290} + {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121} = {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121} + {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3} = {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3} + {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2} = {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2} + {C080819A-4275-3D2A-84DE-7C21EDAE2BBA} = {C080819A-4275-3D2A-84DE-7C21EDAE2BBA} + {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F} = {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F} + {6579683E-AB4A-3B40-A145-1952047837D2} = {6579683E-AB4A-3B40-A145-1952047837D2} + {2FE38842-BDF7-3A93-9D06-1C9814B6B11B} = {2FE38842-BDF7-3A93-9D06-1C9814B6B11B} + {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C} = {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C} + {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4} = {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4} + {C884F97B-4C5C-3457-AF4D-BB4C05670662} = {C884F97B-4C5C-3457-AF4D-BB4C05670662} + {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D} = {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D} + {796760C3-71E4-32AD-A9C4-B984AFC97106} = {796760C3-71E4-32AD-A9C4-B984AFC97106} + {8054C91C-5221-314F-96C5-8FEC57BBEED1} = {8054C91C-5221-314F-96C5-8FEC57BBEED1} + {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} = {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} + {3B9F42C2-0060-329E-B123-7DEF1E91617D} = {3B9F42C2-0060-329E-B123-7DEF1E91617D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3dveins", "plugins\3dveins.vcxproj", "{B10F83BD-77CE-3CC2-A4D0-2B412287DFEA}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{D7C70C41-500D-35F8-A992-1351DDDCDA0C}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Experimental", "Experimental.vcxproj", "{474F765F-548E-3AAB-8D5B-66CF364BE4B2}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INSTALL", "INSTALL.vcxproj", "{07ADCCA9-7D16-3F3D-AB6F-1BDA83D4E943}" + ProjectSection(ProjectDependencies) = postProject + {40EA859D-1269-313F-A313-AA32B87C8935} = {40EA859D-1269-313F-A313-AA32B87C8935} + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Nightly", "Nightly.vcxproj", "{246A2207-0D75-3894-8E4E-785344D8ABF4}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NightlyMemoryCheck", "NightlyMemoryCheck.vcxproj", "{93318712-66D7-31F1-B537-E229E2FD9AF0}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PACKAGE", "PACKAGE.vcxproj", "{F20BBC06-43D9-375A-A5A9-E717817CF640}" + ProjectSection(ProjectDependencies) = postProject + {40EA859D-1269-313F-A313-AA32B87C8935} = {40EA859D-1269-313F-A313-AA32B87C8935} + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RUN_TESTS", "RUN_TESTS.vcxproj", "{45641EBC-7207-3F33-8572-930EA9BD4C6B}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RemoteFortressReader", "plugins\remotefortressreader\RemoteFortressReader.vcxproj", "{14C478D6-D815-378F-81D1-B53BBD6CBE9A}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {69CB13F6-E5DD-3AC2-AF47-08A452514760} = {69CB13F6-E5DD-3AC2-AF47-08A452514760} + {9302E53B-085D-3577-A3E2-EB51A51D084C} = {9302E53B-085D-3577-A3E2-EB51A51D084C} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "ZERO_CHECK.vcxproj", "{31277AF8-10A2-3494-B123-559421E08C26}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "add-spatter", "plugins\add-spatter.vcxproj", "{3A2B0858-3B92-3598-B679-2A437C1286E0}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autobutcher", "plugins\autobutcher.vcxproj", "{27ECEB5C-C396-32BE-93E6-4D4801692191}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autochop", "plugins\autochop.vcxproj", "{5F63101D-75FE-31BE-9D25-6641FBBFF959}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autoclothing", "plugins\autoclothing.vcxproj", "{7D67495E-4C92-37BE-BEF8-174CA37ADD21}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autodump", "plugins\autodump.vcxproj", "{6152D284-A720-3556-A60A-7C13C89205AD}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autofarm", "plugins\autofarm.vcxproj", "{4049FF1D-8A65-3021-B550-0DE0E63F9577}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autolabor", "plugins\autolabor\autolabor.vcxproj", "{8CE562EE-798E-3C1B-975C-F49C6B5C84ED}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autonestbox", "plugins\autonestbox.vcxproj", "{961FD68A-49A7-3F16-9F96-16AC8236D3A3}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autoslab", "plugins\autoslab.vcxproj", "{D3C67352-8290-3C4E-9F23-93DDE051AA37}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "binpatch", "library\binpatch.vcxproj", "{A0486456-80E4-3492-940E-6652FF2B45B9}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {111D1A41-5C7F-397A-A62C-B19B0AEB044B} = {111D1A41-5C7F-397A-A62C-B19B0AEB044B} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "blueprint", "plugins\blueprint.vcxproj", "{386966C3-DC46-3936-AD44-35E2470C6A28}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "buildingplan", "plugins\buildingplan\buildingplan.vcxproj", "{02D9B109-1602-3567-80C0-3BF354675829}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "changeitem", "plugins\changeitem.vcxproj", "{B6B32914-FA20-3991-AEDE-3FFA75FDF7DA}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "changelayer", "plugins\changelayer.vcxproj", "{C153A10F-47F2-3FF1-A27D-0CE7AA4B1515}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "changevein", "plugins\changevein.vcxproj", "{76B00654-E15A-3E4F-8C41-DDC63A14246A}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "channel-safely", "plugins\channel-safely\channel-safely.vcxproj", "{D7DF31C2-3247-31BA-A745-DF4095334504}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cleanconst", "plugins\cleanconst.vcxproj", "{2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cleaners", "plugins\cleaners.vcxproj", "{099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cleanowned", "plugins\cleanowned.vcxproj", "{D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "clsocket", "depends\clsocket\clsocket.vcxproj", "{39BD79E1-6088-33F3-AD4A-74F0E0EE785C}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "confirm", "plugins\confirm.vcxproj", "{BAABB124-4999-3462-AF35-16DB3C974D7C}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "createitem", "plugins\createitem.vcxproj", "{6F451C91-A082-3981-83D5-65844ED16BDA}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cursecheck", "plugins\cursecheck.vcxproj", "{C143DDD8-9AB8-368F-ACE4-BA4F7651DA80}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cxxrandom", "plugins\cxxrandom.vcxproj", "{AB8FA0F9-1482-31F8-87E2-E3C7BB178053}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "debug", "plugins\debug.vcxproj", "{CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {CD9E5829-45CA-308D-9ED7-C2C38139D69E} = {CD9E5829-45CA-308D-9ED7-C2C38139D69E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "deramp", "plugins\deramp.vcxproj", "{E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "design", "plugins\design.vcxproj", "{5347E62F-7AEB-3B7C-B480-161A35974C9E}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack", "library\dfhack.vcxproj", "{6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} = {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} + {111D1A41-5C7F-397A-A62C-B19B0AEB044B} = {111D1A41-5C7F-397A-A62C-B19B0AEB044B} + {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7} = {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7} + {19F34DB6-1C4F-36FD-A7A8-8E5077651209} = {19F34DB6-1C4F-36FD-A7A8-8E5077651209} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE} = {F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE} + {A294D3AD-91C7-32D9-B361-D399900843E5} = {A294D3AD-91C7-32D9-B361-D399900843E5} + {CD9E5829-45CA-308D-9ED7-C2C38139D69E} = {CD9E5829-45CA-308D-9ED7-C2C38139D69E} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + {9302E53B-085D-3577-A3E2-EB51A51D084C} = {9302E53B-085D-3577-A3E2-EB51A51D084C} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-client", "library\dfhack-client.vcxproj", "{136AD85C-398C-329A-84AC-AD4481963950}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} = {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {CD9E5829-45CA-308D-9ED7-C2C38139D69E} = {CD9E5829-45CA-308D-9ED7-C2C38139D69E} + {9302E53B-085D-3577-A3E2-EB51A51D084C} = {9302E53B-085D-3577-A3E2-EB51A51D084C} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-lodepng", "depends\lodepng\dfhack-lodepng.vcxproj", "{8DB90A0E-6076-3C07-B890-7E5E886009EC}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-md5", "depends\md5\dfhack-md5.vcxproj", "{111D1A41-5C7F-397A-A62C-B19B0AEB044B}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-run", "library\dfhack-run.vcxproj", "{78DBE964-AC8C-3264-903B-2B102B46D476}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} = {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} + {136AD85C-398C-329A-84AC-AD4481963950} = {136AD85C-398C-329A-84AC-AD4481963950} + {CD9E5829-45CA-308D-9ED7-C2C38139D69E} = {CD9E5829-45CA-308D-9ED7-C2C38139D69E} + {9302E53B-085D-3577-A3E2-EB51A51D084C} = {9302E53B-085D-3577-A3E2-EB51A51D084C} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-tinythread", "depends\tthread\dfhack-tinythread.vcxproj", "{D3A713C3-480C-3DF0-95FA-8B80D95DF8F7}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-tinyxml", "depends\tinyxml\dfhack-tinyxml.vcxproj", "{19F34DB6-1C4F-36FD-A7A8-8E5077651209}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-version", "library\dfhack-version.vcxproj", "{5DC5A20B-821C-3008-A247-B08677276F56}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dig", "plugins\dig.vcxproj", "{D3A6760C-34FD-3EE2-B9CC-24647168DC6A}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dig-now", "plugins\dig-now.vcxproj", "{AFC95A6A-BDBB-35E2-9381-253284E1112D}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dist", "depends\libzip\dist.vcxproj", "{24F97336-D35B-3FBA-BEF8-64B2D5845D3F}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "distcheck", "depends\libzip\distcheck.vcxproj", "{86289ECD-3E29-3E01-93B2-829B5666A809}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {24F97336-D35B-3FBA-BEF8-64B2D5845D3F} = {24F97336-D35B-3FBA-BEF8-64B2D5845D3F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dwarfvet", "plugins\dwarfvet.vcxproj", "{0AED7AC4-8C48-3205-AF43-3D536A60D815}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "eventful", "plugins\eventful.vcxproj", "{D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "expat", "depends\libexpat\expat\expat.vcxproj", "{BA32E800-D5FA-3F4E-B91B-763CD4FE389C}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fastdwarf", "plugins\fastdwarf.vcxproj", "{894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "faststart", "plugins\faststart.vcxproj", "{47842A81-7497-313E-B466-C60AE89334CB}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "filltraffic", "plugins\filltraffic.vcxproj", "{25303A98-8EE4-3355-8C68-CFA8B4116EF0}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flows", "plugins\flows.vcxproj", "{A80E6C37-1E31-3DDC-A4FE-B21553E580DB}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_headers", "library\generate_headers.vcxproj", "{F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_proto", "plugins\generate_proto.vcxproj", "{0AE42C92-16FF-3E69-B468-111535996095}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} = {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_proto_RemoteFortressReader", "plugins\remotefortressreader\generate_proto_RemoteFortressReader.vcxproj", "{69CB13F6-E5DD-3AC2-AF47-08A452514760}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} = {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_proto_core", "library\generate_proto_core.vcxproj", "{A294D3AD-91C7-32D9-B361-D399900843E5}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} = {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_proto_stockpiles", "plugins\stockpiles\generate_proto_stockpiles.vcxproj", "{73A57BCF-3487-35DC-B448-FD328037CDF3}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} = {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "getplants", "plugins\getplants.vcxproj", "{E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hotkeys", "plugins\hotkeys.vcxproj", "{6F10CAC8-6D9F-357E-B574-5EC901BF4EAD}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsoncpp_static", "depends\jsoncpp-sub\src\lib_json\jsoncpp_static.vcxproj", "{CD9E5829-45CA-308D-9ED7-C2C38139D69E}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lair", "plugins\lair.vcxproj", "{DA8EE8E6-6AE0-3DA6-AED9-316977621A0B}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liquids", "plugins\liquids.vcxproj", "{21572060-CA28-355B-A508-5675A4A2FAB3}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "logistics", "plugins\logistics.vcxproj", "{F1206958-458C-3F18-84D9-3EEE07B73862}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua", "depends\lua\lua.vcxproj", "{6CA1FA88-B709-340C-8366-DCE4C1D1FB32}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "luasocket", "plugins\luasocket.vcxproj", "{4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} = {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7} = {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "misery", "plugins\misery.vcxproj", "{419297F2-C54C-3C4B-91AB-7B119D09E730}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nestboxes", "plugins\nestboxes.vcxproj", "{8F94C6B8-42CE-329C-B6A9-3E13C04350CF}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "orders", "plugins\orders.vcxproj", "{7FF993D7-A6D3-37CC-AE69-2906ECD89E03}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {CD9E5829-45CA-308D-9ED7-C2C38139D69E} = {CD9E5829-45CA-308D-9ED7-C2C38139D69E} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "overlay", "plugins\overlay.vcxproj", "{374D8559-CBBF-3F24-BEE1-8B11A184B7F8}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pathable", "plugins\pathable.vcxproj", "{4E197970-E280-3B04-AD7D-E52DC551E902}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "probe", "plugins\probe.vcxproj", "{4E6C8BD2-2434-31DC-BDD2-8788D2547403}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "prospector", "plugins\prospector.vcxproj", "{37629CF4-1B6A-312A-89B7-CF11593F51A4}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protobuf", "depends\protobuf\protobuf.vcxproj", "{8D195538-264D-3C39-AB9A-653DA8A6F56E}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protobuf-lite", "depends\protobuf\protobuf-lite.vcxproj", "{9302E53B-085D-3577-A3E2-EB51A51D084C}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protoc", "depends\protobuf\protoc.vcxproj", "{1C17AAAA-9E99-32C1-9FF6-E88C054A2646}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {8D195538-264D-3C39-AB9A-653DA8A6F56E} = {8D195538-264D-3C39-AB9A-653DA8A6F56E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protoc-bin", "depends\protobuf\protoc-bin.vcxproj", "{74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {8D195538-264D-3C39-AB9A-653DA8A6F56E} = {8D195538-264D-3C39-AB9A-653DA8A6F56E} + {1C17AAAA-9E99-32C1-9FF6-E88C054A2646} = {1C17AAAA-9E99-32C1-9FF6-E88C054A2646} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "regrass", "plugins\regrass.vcxproj", "{E36DC20B-AE7A-3449-B308-C932B9DD4290}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reveal", "plugins\reveal.vcxproj", "{C831208B-D7C3-3DD6-9F16-0EA8A5FF3121}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "seedwatch", "plugins\seedwatch.vcxproj", "{7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "showmood", "plugins\showmood.vcxproj", "{E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sort", "plugins\sort.vcxproj", "{C080819A-4275-3D2A-84DE-7C21EDAE2BBA}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stockpiles", "plugins\stockpiles\stockpiles.vcxproj", "{7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {73A57BCF-3487-35DC-B448-FD328037CDF3} = {73A57BCF-3487-35DC-B448-FD328037CDF3} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + {9302E53B-085D-3577-A3E2-EB51A51D084C} = {9302E53B-085D-3577-A3E2-EB51A51D084C} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "strangemood", "plugins\strangemood.vcxproj", "{6579683E-AB4A-3B40-A145-1952047837D2}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tailor", "plugins\tailor.vcxproj", "{2FE38842-BDF7-3A93-9D06-1C9814B6B11B}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tiletypes", "plugins\tiletypes.vcxproj", "{B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "work-now", "plugins\work-now.vcxproj", "{2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "workflow", "plugins\workflow.vcxproj", "{C884F97B-4C5C-3457-AF4D-BB4C05670662}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xlsxio_read_STATIC", "depends\xlsxio\xlsxio_read_STATIC.vcxproj", "{85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} = {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} + {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} = {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xlsxio_write_STATIC", "depends\xlsxio\xlsxio_write_STATIC.vcxproj", "{796760C3-71E4-32AD-A9C4-B984AFC97106}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} = {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xlsxreader", "plugins\xlsxreader.vcxproj", "{8054C91C-5221-314F-96C5-8FEC57BBEED1}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} = {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D} = {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D} + {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} = {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zip", "depends\libzip\lib\zip.vcxproj", "{744BEFA7-C931-39C8-A1B4-1A9A88901B1D}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zone", "plugins\zone.vcxproj", "{3B9F42C2-0060-329E-B123-7DEF1E91617D}" + ProjectSection(ProjectDependencies) = postProject + {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} + {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} + {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Release|x64 = Release|x64 + RelWithDebInfo|x64 = RelWithDebInfo|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {40EA859D-1269-313F-A313-AA32B87C8935}.Release|x64.ActiveCfg = Release|x64 + {40EA859D-1269-313F-A313-AA32B87C8935}.Release|x64.Build.0 = Release|x64 + {40EA859D-1269-313F-A313-AA32B87C8935}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {40EA859D-1269-313F-A313-AA32B87C8935}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA}.Release|x64.ActiveCfg = Release|x64 + {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA}.Release|x64.Build.0 = Release|x64 + {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {D7C70C41-500D-35F8-A992-1351DDDCDA0C}.Release|x64.ActiveCfg = Release|x64 + {D7C70C41-500D-35F8-A992-1351DDDCDA0C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {474F765F-548E-3AAB-8D5B-66CF364BE4B2}.Release|x64.ActiveCfg = Release|x64 + {474F765F-548E-3AAB-8D5B-66CF364BE4B2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {07ADCCA9-7D16-3F3D-AB6F-1BDA83D4E943}.Release|x64.ActiveCfg = Release|x64 + {07ADCCA9-7D16-3F3D-AB6F-1BDA83D4E943}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {246A2207-0D75-3894-8E4E-785344D8ABF4}.Release|x64.ActiveCfg = Release|x64 + {246A2207-0D75-3894-8E4E-785344D8ABF4}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {93318712-66D7-31F1-B537-E229E2FD9AF0}.Release|x64.ActiveCfg = Release|x64 + {93318712-66D7-31F1-B537-E229E2FD9AF0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {F20BBC06-43D9-375A-A5A9-E717817CF640}.Release|x64.ActiveCfg = Release|x64 + {F20BBC06-43D9-375A-A5A9-E717817CF640}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {45641EBC-7207-3F33-8572-930EA9BD4C6B}.Release|x64.ActiveCfg = Release|x64 + {45641EBC-7207-3F33-8572-930EA9BD4C6B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {14C478D6-D815-378F-81D1-B53BBD6CBE9A}.Release|x64.ActiveCfg = Release|x64 + {14C478D6-D815-378F-81D1-B53BBD6CBE9A}.Release|x64.Build.0 = Release|x64 + {14C478D6-D815-378F-81D1-B53BBD6CBE9A}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {14C478D6-D815-378F-81D1-B53BBD6CBE9A}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {31277AF8-10A2-3494-B123-559421E08C26}.Release|x64.ActiveCfg = Release|x64 + {31277AF8-10A2-3494-B123-559421E08C26}.Release|x64.Build.0 = Release|x64 + {31277AF8-10A2-3494-B123-559421E08C26}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {31277AF8-10A2-3494-B123-559421E08C26}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {3A2B0858-3B92-3598-B679-2A437C1286E0}.Release|x64.ActiveCfg = Release|x64 + {3A2B0858-3B92-3598-B679-2A437C1286E0}.Release|x64.Build.0 = Release|x64 + {3A2B0858-3B92-3598-B679-2A437C1286E0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {3A2B0858-3B92-3598-B679-2A437C1286E0}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {27ECEB5C-C396-32BE-93E6-4D4801692191}.Release|x64.ActiveCfg = Release|x64 + {27ECEB5C-C396-32BE-93E6-4D4801692191}.Release|x64.Build.0 = Release|x64 + {27ECEB5C-C396-32BE-93E6-4D4801692191}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {27ECEB5C-C396-32BE-93E6-4D4801692191}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {5F63101D-75FE-31BE-9D25-6641FBBFF959}.Release|x64.ActiveCfg = Release|x64 + {5F63101D-75FE-31BE-9D25-6641FBBFF959}.Release|x64.Build.0 = Release|x64 + {5F63101D-75FE-31BE-9D25-6641FBBFF959}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {5F63101D-75FE-31BE-9D25-6641FBBFF959}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {7D67495E-4C92-37BE-BEF8-174CA37ADD21}.Release|x64.ActiveCfg = Release|x64 + {7D67495E-4C92-37BE-BEF8-174CA37ADD21}.Release|x64.Build.0 = Release|x64 + {7D67495E-4C92-37BE-BEF8-174CA37ADD21}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {7D67495E-4C92-37BE-BEF8-174CA37ADD21}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {6152D284-A720-3556-A60A-7C13C89205AD}.Release|x64.ActiveCfg = Release|x64 + {6152D284-A720-3556-A60A-7C13C89205AD}.Release|x64.Build.0 = Release|x64 + {6152D284-A720-3556-A60A-7C13C89205AD}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {6152D284-A720-3556-A60A-7C13C89205AD}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {4049FF1D-8A65-3021-B550-0DE0E63F9577}.Release|x64.ActiveCfg = Release|x64 + {4049FF1D-8A65-3021-B550-0DE0E63F9577}.Release|x64.Build.0 = Release|x64 + {4049FF1D-8A65-3021-B550-0DE0E63F9577}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {4049FF1D-8A65-3021-B550-0DE0E63F9577}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {8CE562EE-798E-3C1B-975C-F49C6B5C84ED}.Release|x64.ActiveCfg = Release|x64 + {8CE562EE-798E-3C1B-975C-F49C6B5C84ED}.Release|x64.Build.0 = Release|x64 + {8CE562EE-798E-3C1B-975C-F49C6B5C84ED}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {8CE562EE-798E-3C1B-975C-F49C6B5C84ED}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {961FD68A-49A7-3F16-9F96-16AC8236D3A3}.Release|x64.ActiveCfg = Release|x64 + {961FD68A-49A7-3F16-9F96-16AC8236D3A3}.Release|x64.Build.0 = Release|x64 + {961FD68A-49A7-3F16-9F96-16AC8236D3A3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {961FD68A-49A7-3F16-9F96-16AC8236D3A3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {D3C67352-8290-3C4E-9F23-93DDE051AA37}.Release|x64.ActiveCfg = Release|x64 + {D3C67352-8290-3C4E-9F23-93DDE051AA37}.Release|x64.Build.0 = Release|x64 + {D3C67352-8290-3C4E-9F23-93DDE051AA37}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {D3C67352-8290-3C4E-9F23-93DDE051AA37}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {A0486456-80E4-3492-940E-6652FF2B45B9}.Release|x64.ActiveCfg = Release|x64 + {A0486456-80E4-3492-940E-6652FF2B45B9}.Release|x64.Build.0 = Release|x64 + {A0486456-80E4-3492-940E-6652FF2B45B9}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {A0486456-80E4-3492-940E-6652FF2B45B9}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {386966C3-DC46-3936-AD44-35E2470C6A28}.Release|x64.ActiveCfg = Release|x64 + {386966C3-DC46-3936-AD44-35E2470C6A28}.Release|x64.Build.0 = Release|x64 + {386966C3-DC46-3936-AD44-35E2470C6A28}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {386966C3-DC46-3936-AD44-35E2470C6A28}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {02D9B109-1602-3567-80C0-3BF354675829}.Release|x64.ActiveCfg = Release|x64 + {02D9B109-1602-3567-80C0-3BF354675829}.Release|x64.Build.0 = Release|x64 + {02D9B109-1602-3567-80C0-3BF354675829}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {02D9B109-1602-3567-80C0-3BF354675829}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA}.Release|x64.ActiveCfg = Release|x64 + {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA}.Release|x64.Build.0 = Release|x64 + {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515}.Release|x64.ActiveCfg = Release|x64 + {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515}.Release|x64.Build.0 = Release|x64 + {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {76B00654-E15A-3E4F-8C41-DDC63A14246A}.Release|x64.ActiveCfg = Release|x64 + {76B00654-E15A-3E4F-8C41-DDC63A14246A}.Release|x64.Build.0 = Release|x64 + {76B00654-E15A-3E4F-8C41-DDC63A14246A}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {76B00654-E15A-3E4F-8C41-DDC63A14246A}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {D7DF31C2-3247-31BA-A745-DF4095334504}.Release|x64.ActiveCfg = Release|x64 + {D7DF31C2-3247-31BA-A745-DF4095334504}.Release|x64.Build.0 = Release|x64 + {D7DF31C2-3247-31BA-A745-DF4095334504}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {D7DF31C2-3247-31BA-A745-DF4095334504}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204}.Release|x64.ActiveCfg = Release|x64 + {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204}.Release|x64.Build.0 = Release|x64 + {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5}.Release|x64.ActiveCfg = Release|x64 + {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5}.Release|x64.Build.0 = Release|x64 + {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB}.Release|x64.ActiveCfg = Release|x64 + {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB}.Release|x64.Build.0 = Release|x64 + {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {39BD79E1-6088-33F3-AD4A-74F0E0EE785C}.Release|x64.ActiveCfg = Release|x64 + {39BD79E1-6088-33F3-AD4A-74F0E0EE785C}.Release|x64.Build.0 = Release|x64 + {39BD79E1-6088-33F3-AD4A-74F0E0EE785C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {39BD79E1-6088-33F3-AD4A-74F0E0EE785C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {BAABB124-4999-3462-AF35-16DB3C974D7C}.Release|x64.ActiveCfg = Release|x64 + {BAABB124-4999-3462-AF35-16DB3C974D7C}.Release|x64.Build.0 = Release|x64 + {BAABB124-4999-3462-AF35-16DB3C974D7C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {BAABB124-4999-3462-AF35-16DB3C974D7C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {6F451C91-A082-3981-83D5-65844ED16BDA}.Release|x64.ActiveCfg = Release|x64 + {6F451C91-A082-3981-83D5-65844ED16BDA}.Release|x64.Build.0 = Release|x64 + {6F451C91-A082-3981-83D5-65844ED16BDA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {6F451C91-A082-3981-83D5-65844ED16BDA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80}.Release|x64.ActiveCfg = Release|x64 + {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80}.Release|x64.Build.0 = Release|x64 + {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {AB8FA0F9-1482-31F8-87E2-E3C7BB178053}.Release|x64.ActiveCfg = Release|x64 + {AB8FA0F9-1482-31F8-87E2-E3C7BB178053}.Release|x64.Build.0 = Release|x64 + {AB8FA0F9-1482-31F8-87E2-E3C7BB178053}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {AB8FA0F9-1482-31F8-87E2-E3C7BB178053}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212}.Release|x64.ActiveCfg = Release|x64 + {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212}.Release|x64.Build.0 = Release|x64 + {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20}.Release|x64.ActiveCfg = Release|x64 + {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20}.Release|x64.Build.0 = Release|x64 + {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {5347E62F-7AEB-3B7C-B480-161A35974C9E}.Release|x64.ActiveCfg = Release|x64 + {5347E62F-7AEB-3B7C-B480-161A35974C9E}.Release|x64.Build.0 = Release|x64 + {5347E62F-7AEB-3B7C-B480-161A35974C9E}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {5347E62F-7AEB-3B7C-B480-161A35974C9E}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62}.Release|x64.ActiveCfg = Release|x64 + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62}.Release|x64.Build.0 = Release|x64 + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {136AD85C-398C-329A-84AC-AD4481963950}.Release|x64.ActiveCfg = Release|x64 + {136AD85C-398C-329A-84AC-AD4481963950}.Release|x64.Build.0 = Release|x64 + {136AD85C-398C-329A-84AC-AD4481963950}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {136AD85C-398C-329A-84AC-AD4481963950}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {8DB90A0E-6076-3C07-B890-7E5E886009EC}.Release|x64.ActiveCfg = Release|x64 + {8DB90A0E-6076-3C07-B890-7E5E886009EC}.Release|x64.Build.0 = Release|x64 + {8DB90A0E-6076-3C07-B890-7E5E886009EC}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {8DB90A0E-6076-3C07-B890-7E5E886009EC}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {111D1A41-5C7F-397A-A62C-B19B0AEB044B}.Release|x64.ActiveCfg = Release|x64 + {111D1A41-5C7F-397A-A62C-B19B0AEB044B}.Release|x64.Build.0 = Release|x64 + {111D1A41-5C7F-397A-A62C-B19B0AEB044B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {111D1A41-5C7F-397A-A62C-B19B0AEB044B}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {78DBE964-AC8C-3264-903B-2B102B46D476}.Release|x64.ActiveCfg = Release|x64 + {78DBE964-AC8C-3264-903B-2B102B46D476}.Release|x64.Build.0 = Release|x64 + {78DBE964-AC8C-3264-903B-2B102B46D476}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {78DBE964-AC8C-3264-903B-2B102B46D476}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7}.Release|x64.ActiveCfg = Release|x64 + {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7}.Release|x64.Build.0 = Release|x64 + {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {19F34DB6-1C4F-36FD-A7A8-8E5077651209}.Release|x64.ActiveCfg = Release|x64 + {19F34DB6-1C4F-36FD-A7A8-8E5077651209}.Release|x64.Build.0 = Release|x64 + {19F34DB6-1C4F-36FD-A7A8-8E5077651209}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {19F34DB6-1C4F-36FD-A7A8-8E5077651209}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {5DC5A20B-821C-3008-A247-B08677276F56}.Release|x64.ActiveCfg = Release|x64 + {5DC5A20B-821C-3008-A247-B08677276F56}.Release|x64.Build.0 = Release|x64 + {5DC5A20B-821C-3008-A247-B08677276F56}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {5DC5A20B-821C-3008-A247-B08677276F56}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {D3A6760C-34FD-3EE2-B9CC-24647168DC6A}.Release|x64.ActiveCfg = Release|x64 + {D3A6760C-34FD-3EE2-B9CC-24647168DC6A}.Release|x64.Build.0 = Release|x64 + {D3A6760C-34FD-3EE2-B9CC-24647168DC6A}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {D3A6760C-34FD-3EE2-B9CC-24647168DC6A}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {AFC95A6A-BDBB-35E2-9381-253284E1112D}.Release|x64.ActiveCfg = Release|x64 + {AFC95A6A-BDBB-35E2-9381-253284E1112D}.Release|x64.Build.0 = Release|x64 + {AFC95A6A-BDBB-35E2-9381-253284E1112D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {AFC95A6A-BDBB-35E2-9381-253284E1112D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {24F97336-D35B-3FBA-BEF8-64B2D5845D3F}.Release|x64.ActiveCfg = Release|x64 + {24F97336-D35B-3FBA-BEF8-64B2D5845D3F}.Release|x64.Build.0 = Release|x64 + {24F97336-D35B-3FBA-BEF8-64B2D5845D3F}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {24F97336-D35B-3FBA-BEF8-64B2D5845D3F}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {86289ECD-3E29-3E01-93B2-829B5666A809}.Release|x64.ActiveCfg = Release|x64 + {86289ECD-3E29-3E01-93B2-829B5666A809}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {0AED7AC4-8C48-3205-AF43-3D536A60D815}.Release|x64.ActiveCfg = Release|x64 + {0AED7AC4-8C48-3205-AF43-3D536A60D815}.Release|x64.Build.0 = Release|x64 + {0AED7AC4-8C48-3205-AF43-3D536A60D815}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {0AED7AC4-8C48-3205-AF43-3D536A60D815}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96}.Release|x64.ActiveCfg = Release|x64 + {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96}.Release|x64.Build.0 = Release|x64 + {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {BA32E800-D5FA-3F4E-B91B-763CD4FE389C}.Release|x64.ActiveCfg = Release|x64 + {BA32E800-D5FA-3F4E-B91B-763CD4FE389C}.Release|x64.Build.0 = Release|x64 + {BA32E800-D5FA-3F4E-B91B-763CD4FE389C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {BA32E800-D5FA-3F4E-B91B-763CD4FE389C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7}.Release|x64.ActiveCfg = Release|x64 + {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7}.Release|x64.Build.0 = Release|x64 + {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {47842A81-7497-313E-B466-C60AE89334CB}.Release|x64.ActiveCfg = Release|x64 + {47842A81-7497-313E-B466-C60AE89334CB}.Release|x64.Build.0 = Release|x64 + {47842A81-7497-313E-B466-C60AE89334CB}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {47842A81-7497-313E-B466-C60AE89334CB}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {25303A98-8EE4-3355-8C68-CFA8B4116EF0}.Release|x64.ActiveCfg = Release|x64 + {25303A98-8EE4-3355-8C68-CFA8B4116EF0}.Release|x64.Build.0 = Release|x64 + {25303A98-8EE4-3355-8C68-CFA8B4116EF0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {25303A98-8EE4-3355-8C68-CFA8B4116EF0}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {A80E6C37-1E31-3DDC-A4FE-B21553E580DB}.Release|x64.ActiveCfg = Release|x64 + {A80E6C37-1E31-3DDC-A4FE-B21553E580DB}.Release|x64.Build.0 = Release|x64 + {A80E6C37-1E31-3DDC-A4FE-B21553E580DB}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {A80E6C37-1E31-3DDC-A4FE-B21553E580DB}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE}.Release|x64.ActiveCfg = Release|x64 + {F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE}.Release|x64.Build.0 = Release|x64 + {F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {0AE42C92-16FF-3E69-B468-111535996095}.Release|x64.ActiveCfg = Release|x64 + {0AE42C92-16FF-3E69-B468-111535996095}.Release|x64.Build.0 = Release|x64 + {0AE42C92-16FF-3E69-B468-111535996095}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {0AE42C92-16FF-3E69-B468-111535996095}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {69CB13F6-E5DD-3AC2-AF47-08A452514760}.Release|x64.ActiveCfg = Release|x64 + {69CB13F6-E5DD-3AC2-AF47-08A452514760}.Release|x64.Build.0 = Release|x64 + {69CB13F6-E5DD-3AC2-AF47-08A452514760}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {69CB13F6-E5DD-3AC2-AF47-08A452514760}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {A294D3AD-91C7-32D9-B361-D399900843E5}.Release|x64.ActiveCfg = Release|x64 + {A294D3AD-91C7-32D9-B361-D399900843E5}.Release|x64.Build.0 = Release|x64 + {A294D3AD-91C7-32D9-B361-D399900843E5}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {A294D3AD-91C7-32D9-B361-D399900843E5}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {73A57BCF-3487-35DC-B448-FD328037CDF3}.Release|x64.ActiveCfg = Release|x64 + {73A57BCF-3487-35DC-B448-FD328037CDF3}.Release|x64.Build.0 = Release|x64 + {73A57BCF-3487-35DC-B448-FD328037CDF3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {73A57BCF-3487-35DC-B448-FD328037CDF3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA}.Release|x64.ActiveCfg = Release|x64 + {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA}.Release|x64.Build.0 = Release|x64 + {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD}.Release|x64.ActiveCfg = Release|x64 + {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD}.Release|x64.Build.0 = Release|x64 + {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {CD9E5829-45CA-308D-9ED7-C2C38139D69E}.Release|x64.ActiveCfg = Release|x64 + {CD9E5829-45CA-308D-9ED7-C2C38139D69E}.Release|x64.Build.0 = Release|x64 + {CD9E5829-45CA-308D-9ED7-C2C38139D69E}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {CD9E5829-45CA-308D-9ED7-C2C38139D69E}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B}.Release|x64.ActiveCfg = Release|x64 + {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B}.Release|x64.Build.0 = Release|x64 + {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {21572060-CA28-355B-A508-5675A4A2FAB3}.Release|x64.ActiveCfg = Release|x64 + {21572060-CA28-355B-A508-5675A4A2FAB3}.Release|x64.Build.0 = Release|x64 + {21572060-CA28-355B-A508-5675A4A2FAB3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {21572060-CA28-355B-A508-5675A4A2FAB3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {F1206958-458C-3F18-84D9-3EEE07B73862}.Release|x64.ActiveCfg = Release|x64 + {F1206958-458C-3F18-84D9-3EEE07B73862}.Release|x64.Build.0 = Release|x64 + {F1206958-458C-3F18-84D9-3EEE07B73862}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {F1206958-458C-3F18-84D9-3EEE07B73862}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32}.Release|x64.ActiveCfg = Release|x64 + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32}.Release|x64.Build.0 = Release|x64 + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3}.Release|x64.ActiveCfg = Release|x64 + {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3}.Release|x64.Build.0 = Release|x64 + {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {419297F2-C54C-3C4B-91AB-7B119D09E730}.Release|x64.ActiveCfg = Release|x64 + {419297F2-C54C-3C4B-91AB-7B119D09E730}.Release|x64.Build.0 = Release|x64 + {419297F2-C54C-3C4B-91AB-7B119D09E730}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {419297F2-C54C-3C4B-91AB-7B119D09E730}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {8F94C6B8-42CE-329C-B6A9-3E13C04350CF}.Release|x64.ActiveCfg = Release|x64 + {8F94C6B8-42CE-329C-B6A9-3E13C04350CF}.Release|x64.Build.0 = Release|x64 + {8F94C6B8-42CE-329C-B6A9-3E13C04350CF}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {8F94C6B8-42CE-329C-B6A9-3E13C04350CF}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {7FF993D7-A6D3-37CC-AE69-2906ECD89E03}.Release|x64.ActiveCfg = Release|x64 + {7FF993D7-A6D3-37CC-AE69-2906ECD89E03}.Release|x64.Build.0 = Release|x64 + {7FF993D7-A6D3-37CC-AE69-2906ECD89E03}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {7FF993D7-A6D3-37CC-AE69-2906ECD89E03}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {374D8559-CBBF-3F24-BEE1-8B11A184B7F8}.Release|x64.ActiveCfg = Release|x64 + {374D8559-CBBF-3F24-BEE1-8B11A184B7F8}.Release|x64.Build.0 = Release|x64 + {374D8559-CBBF-3F24-BEE1-8B11A184B7F8}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {374D8559-CBBF-3F24-BEE1-8B11A184B7F8}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {4E197970-E280-3B04-AD7D-E52DC551E902}.Release|x64.ActiveCfg = Release|x64 + {4E197970-E280-3B04-AD7D-E52DC551E902}.Release|x64.Build.0 = Release|x64 + {4E197970-E280-3B04-AD7D-E52DC551E902}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {4E197970-E280-3B04-AD7D-E52DC551E902}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {4E6C8BD2-2434-31DC-BDD2-8788D2547403}.Release|x64.ActiveCfg = Release|x64 + {4E6C8BD2-2434-31DC-BDD2-8788D2547403}.Release|x64.Build.0 = Release|x64 + {4E6C8BD2-2434-31DC-BDD2-8788D2547403}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {4E6C8BD2-2434-31DC-BDD2-8788D2547403}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {37629CF4-1B6A-312A-89B7-CF11593F51A4}.Release|x64.ActiveCfg = Release|x64 + {37629CF4-1B6A-312A-89B7-CF11593F51A4}.Release|x64.Build.0 = Release|x64 + {37629CF4-1B6A-312A-89B7-CF11593F51A4}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {37629CF4-1B6A-312A-89B7-CF11593F51A4}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {8D195538-264D-3C39-AB9A-653DA8A6F56E}.Release|x64.ActiveCfg = Release|x64 + {8D195538-264D-3C39-AB9A-653DA8A6F56E}.Release|x64.Build.0 = Release|x64 + {8D195538-264D-3C39-AB9A-653DA8A6F56E}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {8D195538-264D-3C39-AB9A-653DA8A6F56E}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {9302E53B-085D-3577-A3E2-EB51A51D084C}.Release|x64.ActiveCfg = Release|x64 + {9302E53B-085D-3577-A3E2-EB51A51D084C}.Release|x64.Build.0 = Release|x64 + {9302E53B-085D-3577-A3E2-EB51A51D084C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {9302E53B-085D-3577-A3E2-EB51A51D084C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {1C17AAAA-9E99-32C1-9FF6-E88C054A2646}.Release|x64.ActiveCfg = Release|x64 + {1C17AAAA-9E99-32C1-9FF6-E88C054A2646}.Release|x64.Build.0 = Release|x64 + {1C17AAAA-9E99-32C1-9FF6-E88C054A2646}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {1C17AAAA-9E99-32C1-9FF6-E88C054A2646}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7}.Release|x64.ActiveCfg = Release|x64 + {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7}.Release|x64.Build.0 = Release|x64 + {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {E36DC20B-AE7A-3449-B308-C932B9DD4290}.Release|x64.ActiveCfg = Release|x64 + {E36DC20B-AE7A-3449-B308-C932B9DD4290}.Release|x64.Build.0 = Release|x64 + {E36DC20B-AE7A-3449-B308-C932B9DD4290}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {E36DC20B-AE7A-3449-B308-C932B9DD4290}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121}.Release|x64.ActiveCfg = Release|x64 + {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121}.Release|x64.Build.0 = Release|x64 + {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3}.Release|x64.ActiveCfg = Release|x64 + {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3}.Release|x64.Build.0 = Release|x64 + {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2}.Release|x64.ActiveCfg = Release|x64 + {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2}.Release|x64.Build.0 = Release|x64 + {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {C080819A-4275-3D2A-84DE-7C21EDAE2BBA}.Release|x64.ActiveCfg = Release|x64 + {C080819A-4275-3D2A-84DE-7C21EDAE2BBA}.Release|x64.Build.0 = Release|x64 + {C080819A-4275-3D2A-84DE-7C21EDAE2BBA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {C080819A-4275-3D2A-84DE-7C21EDAE2BBA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F}.Release|x64.ActiveCfg = Release|x64 + {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F}.Release|x64.Build.0 = Release|x64 + {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {6579683E-AB4A-3B40-A145-1952047837D2}.Release|x64.ActiveCfg = Release|x64 + {6579683E-AB4A-3B40-A145-1952047837D2}.Release|x64.Build.0 = Release|x64 + {6579683E-AB4A-3B40-A145-1952047837D2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {6579683E-AB4A-3B40-A145-1952047837D2}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {2FE38842-BDF7-3A93-9D06-1C9814B6B11B}.Release|x64.ActiveCfg = Release|x64 + {2FE38842-BDF7-3A93-9D06-1C9814B6B11B}.Release|x64.Build.0 = Release|x64 + {2FE38842-BDF7-3A93-9D06-1C9814B6B11B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {2FE38842-BDF7-3A93-9D06-1C9814B6B11B}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C}.Release|x64.ActiveCfg = Release|x64 + {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C}.Release|x64.Build.0 = Release|x64 + {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4}.Release|x64.ActiveCfg = Release|x64 + {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4}.Release|x64.Build.0 = Release|x64 + {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {C884F97B-4C5C-3457-AF4D-BB4C05670662}.Release|x64.ActiveCfg = Release|x64 + {C884F97B-4C5C-3457-AF4D-BB4C05670662}.Release|x64.Build.0 = Release|x64 + {C884F97B-4C5C-3457-AF4D-BB4C05670662}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {C884F97B-4C5C-3457-AF4D-BB4C05670662}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D}.Release|x64.ActiveCfg = Release|x64 + {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D}.Release|x64.Build.0 = Release|x64 + {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {796760C3-71E4-32AD-A9C4-B984AFC97106}.Release|x64.ActiveCfg = Release|x64 + {796760C3-71E4-32AD-A9C4-B984AFC97106}.Release|x64.Build.0 = Release|x64 + {796760C3-71E4-32AD-A9C4-B984AFC97106}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {796760C3-71E4-32AD-A9C4-B984AFC97106}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {8054C91C-5221-314F-96C5-8FEC57BBEED1}.Release|x64.ActiveCfg = Release|x64 + {8054C91C-5221-314F-96C5-8FEC57BBEED1}.Release|x64.Build.0 = Release|x64 + {8054C91C-5221-314F-96C5-8FEC57BBEED1}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {8054C91C-5221-314F-96C5-8FEC57BBEED1}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {744BEFA7-C931-39C8-A1B4-1A9A88901B1D}.Release|x64.ActiveCfg = Release|x64 + {744BEFA7-C931-39C8-A1B4-1A9A88901B1D}.Release|x64.Build.0 = Release|x64 + {744BEFA7-C931-39C8-A1B4-1A9A88901B1D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {744BEFA7-C931-39C8-A1B4-1A9A88901B1D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {3B9F42C2-0060-329E-B123-7DEF1E91617D}.Release|x64.ActiveCfg = Release|x64 + {3B9F42C2-0060-329E-B123-7DEF1E91617D}.Release|x64.Build.0 = Release|x64 + {3B9F42C2-0060-329E-B123-7DEF1E91617D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {3B9F42C2-0060-329E-B123-7DEF1E91617D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {40EA859D-1269-313F-A313-AA32B87C8935} = {28D9607F-8931-375B-9273-9E20D2F6347F} + {07ADCCA9-7D16-3F3D-AB6F-1BDA83D4E943} = {28D9607F-8931-375B-9273-9E20D2F6347F} + {F20BBC06-43D9-375A-A5A9-E717817CF640} = {28D9607F-8931-375B-9273-9E20D2F6347F} + {45641EBC-7207-3F33-8572-930EA9BD4C6B} = {28D9607F-8931-375B-9273-9E20D2F6347F} + {31277AF8-10A2-3494-B123-559421E08C26} = {28D9607F-8931-375B-9273-9E20D2F6347F} + {D7C70C41-500D-35F8-A992-1351DDDCDA0C} = {068CE9B1-E6DD-3864-AC38-93F10EF27A17} + {474F765F-548E-3AAB-8D5B-66CF364BE4B2} = {068CE9B1-E6DD-3864-AC38-93F10EF27A17} + {246A2207-0D75-3894-8E4E-785344D8ABF4} = {068CE9B1-E6DD-3864-AC38-93F10EF27A17} + {93318712-66D7-31F1-B537-E229E2FD9AF0} = {068CE9B1-E6DD-3864-AC38-93F10EF27A17} + {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} + {8DB90A0E-6076-3C07-B890-7E5E886009EC} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} + {111D1A41-5C7F-397A-A62C-B19B0AEB044B} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} + {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} + {19F34DB6-1C4F-36FD-A7A8-8E5077651209} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} + {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} + {8D195538-264D-3C39-AB9A-653DA8A6F56E} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} + {9302E53B-085D-3577-A3E2-EB51A51D084C} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} + {1C17AAAA-9E99-32C1-9FF6-E88C054A2646} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} + {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} + {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA} = {25456F37-E968-3921-80E5-1C0E141753B6} + {14C478D6-D815-378F-81D1-B53BBD6CBE9A} = {25456F37-E968-3921-80E5-1C0E141753B6} + {3A2B0858-3B92-3598-B679-2A437C1286E0} = {25456F37-E968-3921-80E5-1C0E141753B6} + {27ECEB5C-C396-32BE-93E6-4D4801692191} = {25456F37-E968-3921-80E5-1C0E141753B6} + {5F63101D-75FE-31BE-9D25-6641FBBFF959} = {25456F37-E968-3921-80E5-1C0E141753B6} + {7D67495E-4C92-37BE-BEF8-174CA37ADD21} = {25456F37-E968-3921-80E5-1C0E141753B6} + {6152D284-A720-3556-A60A-7C13C89205AD} = {25456F37-E968-3921-80E5-1C0E141753B6} + {4049FF1D-8A65-3021-B550-0DE0E63F9577} = {25456F37-E968-3921-80E5-1C0E141753B6} + {8CE562EE-798E-3C1B-975C-F49C6B5C84ED} = {25456F37-E968-3921-80E5-1C0E141753B6} + {961FD68A-49A7-3F16-9F96-16AC8236D3A3} = {25456F37-E968-3921-80E5-1C0E141753B6} + {D3C67352-8290-3C4E-9F23-93DDE051AA37} = {25456F37-E968-3921-80E5-1C0E141753B6} + {386966C3-DC46-3936-AD44-35E2470C6A28} = {25456F37-E968-3921-80E5-1C0E141753B6} + {02D9B109-1602-3567-80C0-3BF354675829} = {25456F37-E968-3921-80E5-1C0E141753B6} + {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA} = {25456F37-E968-3921-80E5-1C0E141753B6} + {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515} = {25456F37-E968-3921-80E5-1C0E141753B6} + {76B00654-E15A-3E4F-8C41-DDC63A14246A} = {25456F37-E968-3921-80E5-1C0E141753B6} + {D7DF31C2-3247-31BA-A745-DF4095334504} = {25456F37-E968-3921-80E5-1C0E141753B6} + {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204} = {25456F37-E968-3921-80E5-1C0E141753B6} + {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5} = {25456F37-E968-3921-80E5-1C0E141753B6} + {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB} = {25456F37-E968-3921-80E5-1C0E141753B6} + {BAABB124-4999-3462-AF35-16DB3C974D7C} = {25456F37-E968-3921-80E5-1C0E141753B6} + {6F451C91-A082-3981-83D5-65844ED16BDA} = {25456F37-E968-3921-80E5-1C0E141753B6} + {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80} = {25456F37-E968-3921-80E5-1C0E141753B6} + {AB8FA0F9-1482-31F8-87E2-E3C7BB178053} = {25456F37-E968-3921-80E5-1C0E141753B6} + {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212} = {25456F37-E968-3921-80E5-1C0E141753B6} + {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20} = {25456F37-E968-3921-80E5-1C0E141753B6} + {5347E62F-7AEB-3B7C-B480-161A35974C9E} = {25456F37-E968-3921-80E5-1C0E141753B6} + {D3A6760C-34FD-3EE2-B9CC-24647168DC6A} = {25456F37-E968-3921-80E5-1C0E141753B6} + {AFC95A6A-BDBB-35E2-9381-253284E1112D} = {25456F37-E968-3921-80E5-1C0E141753B6} + {0AED7AC4-8C48-3205-AF43-3D536A60D815} = {25456F37-E968-3921-80E5-1C0E141753B6} + {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96} = {25456F37-E968-3921-80E5-1C0E141753B6} + {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7} = {25456F37-E968-3921-80E5-1C0E141753B6} + {47842A81-7497-313E-B466-C60AE89334CB} = {25456F37-E968-3921-80E5-1C0E141753B6} + {25303A98-8EE4-3355-8C68-CFA8B4116EF0} = {25456F37-E968-3921-80E5-1C0E141753B6} + {A80E6C37-1E31-3DDC-A4FE-B21553E580DB} = {25456F37-E968-3921-80E5-1C0E141753B6} + {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA} = {25456F37-E968-3921-80E5-1C0E141753B6} + {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD} = {25456F37-E968-3921-80E5-1C0E141753B6} + {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B} = {25456F37-E968-3921-80E5-1C0E141753B6} + {21572060-CA28-355B-A508-5675A4A2FAB3} = {25456F37-E968-3921-80E5-1C0E141753B6} + {F1206958-458C-3F18-84D9-3EEE07B73862} = {25456F37-E968-3921-80E5-1C0E141753B6} + {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3} = {25456F37-E968-3921-80E5-1C0E141753B6} + {419297F2-C54C-3C4B-91AB-7B119D09E730} = {25456F37-E968-3921-80E5-1C0E141753B6} + {8F94C6B8-42CE-329C-B6A9-3E13C04350CF} = {25456F37-E968-3921-80E5-1C0E141753B6} + {7FF993D7-A6D3-37CC-AE69-2906ECD89E03} = {25456F37-E968-3921-80E5-1C0E141753B6} + {374D8559-CBBF-3F24-BEE1-8B11A184B7F8} = {25456F37-E968-3921-80E5-1C0E141753B6} + {4E197970-E280-3B04-AD7D-E52DC551E902} = {25456F37-E968-3921-80E5-1C0E141753B6} + {4E6C8BD2-2434-31DC-BDD2-8788D2547403} = {25456F37-E968-3921-80E5-1C0E141753B6} + {37629CF4-1B6A-312A-89B7-CF11593F51A4} = {25456F37-E968-3921-80E5-1C0E141753B6} + {E36DC20B-AE7A-3449-B308-C932B9DD4290} = {25456F37-E968-3921-80E5-1C0E141753B6} + {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121} = {25456F37-E968-3921-80E5-1C0E141753B6} + {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3} = {25456F37-E968-3921-80E5-1C0E141753B6} + {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2} = {25456F37-E968-3921-80E5-1C0E141753B6} + {C080819A-4275-3D2A-84DE-7C21EDAE2BBA} = {25456F37-E968-3921-80E5-1C0E141753B6} + {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F} = {25456F37-E968-3921-80E5-1C0E141753B6} + {6579683E-AB4A-3B40-A145-1952047837D2} = {25456F37-E968-3921-80E5-1C0E141753B6} + {2FE38842-BDF7-3A93-9D06-1C9814B6B11B} = {25456F37-E968-3921-80E5-1C0E141753B6} + {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C} = {25456F37-E968-3921-80E5-1C0E141753B6} + {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4} = {25456F37-E968-3921-80E5-1C0E141753B6} + {C884F97B-4C5C-3457-AF4D-BB4C05670662} = {25456F37-E968-3921-80E5-1C0E141753B6} + {8054C91C-5221-314F-96C5-8FEC57BBEED1} = {25456F37-E968-3921-80E5-1C0E141753B6} + {3B9F42C2-0060-329E-B123-7DEF1E91617D} = {25456F37-E968-3921-80E5-1C0E141753B6} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {97344453-ACD8-397F-8291-084632F194C3} + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/library/modules/Textures.cpp b/library/modules/Textures.cpp index 016a2193e..8b485a3a6 100644 --- a/library/modules/Textures.cpp +++ b/library/modules/Textures.cpp @@ -197,11 +197,8 @@ TexposHandle Textures::loadTexture(SDL_Surface* surface, bool reserved) { std::vector Textures::loadTileset(const std::string& file, int tile_px_w, int tile_px_h, bool reserved) { - if (!enabler) - return std::vector{}; if (g_tileset_to_handles.contains(file)) return g_tileset_to_handles[file]; - if (!enabler) return std::vector{}; From 7e4fe646054f99a3baeb4992fdc4875c19a7fb06 Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Sun, 24 Sep 2023 13:10:48 +0300 Subject: [PATCH 19/70] oops --- build/ALL_BUILD.vcxproj | 533 --------- build/ALL_BUILD.vcxproj.filters | 8 - build/Continuous.vcxproj | 145 --- build/Continuous.vcxproj.filters | 17 - build/Experimental.vcxproj | 145 --- build/Experimental.vcxproj.filters | 17 - build/INSTALL.vcxproj | 126 --- build/INSTALL.vcxproj.filters | 13 - build/Nightly.vcxproj | 145 --- build/Nightly.vcxproj.filters | 17 - build/NightlyMemoryCheck.vcxproj | 145 --- build/NightlyMemoryCheck.vcxproj.filters | 17 - build/PACKAGE.vcxproj | 132 --- build/PACKAGE.vcxproj.filters | 13 - build/RUN_TESTS.vcxproj | 118 -- build/RUN_TESTS.vcxproj.filters | 13 - build/ZERO_CHECK.vcxproj | 105 -- build/ZERO_CHECK.vcxproj.filters | 13 - build/dfhack.sln | 1295 ---------------------- 19 files changed, 3017 deletions(-) delete mode 100644 build/ALL_BUILD.vcxproj delete mode 100644 build/ALL_BUILD.vcxproj.filters delete mode 100644 build/Continuous.vcxproj delete mode 100644 build/Continuous.vcxproj.filters delete mode 100644 build/Experimental.vcxproj delete mode 100644 build/Experimental.vcxproj.filters delete mode 100644 build/INSTALL.vcxproj delete mode 100644 build/INSTALL.vcxproj.filters delete mode 100644 build/Nightly.vcxproj delete mode 100644 build/Nightly.vcxproj.filters delete mode 100644 build/NightlyMemoryCheck.vcxproj delete mode 100644 build/NightlyMemoryCheck.vcxproj.filters delete mode 100644 build/PACKAGE.vcxproj delete mode 100644 build/PACKAGE.vcxproj.filters delete mode 100644 build/RUN_TESTS.vcxproj delete mode 100644 build/RUN_TESTS.vcxproj.filters delete mode 100644 build/ZERO_CHECK.vcxproj delete mode 100644 build/ZERO_CHECK.vcxproj.filters delete mode 100644 build/dfhack.sln diff --git a/build/ALL_BUILD.vcxproj b/build/ALL_BUILD.vcxproj deleted file mode 100644 index eefddc34c..000000000 --- a/build/ALL_BUILD.vcxproj +++ /dev/null @@ -1,533 +0,0 @@ - - - - x64 - - - - Release - x64 - - - RelWithDebInfo - x64 - - - - {40EA859D-1269-313F-A313-AA32B87C8935} - 10.0.22000.0 - Win32Proj - x64 - ALL_BUILD - NoUpgrade - - - - Utility - MultiByte - v143 - - - Utility - MultiByte - v143 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - $(Platform)\$(Configuration)\$(ProjectName)\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - - - E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - - - Always - Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp - false - Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp - false - - - - - - - {31277AF8-10A2-3494-B123-559421E08C26} - ZERO_CHECK - false - Never - - - {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA} - 3dveins - false - Never - - - {14C478D6-D815-378F-81D1-B53BBD6CBE9A} - RemoteFortressReader - false - Never - - - {3A2B0858-3B92-3598-B679-2A437C1286E0} - add-spatter - false - Never - - - {27ECEB5C-C396-32BE-93E6-4D4801692191} - autobutcher - false - Never - - - {5F63101D-75FE-31BE-9D25-6641FBBFF959} - autochop - false - Never - - - {7D67495E-4C92-37BE-BEF8-174CA37ADD21} - autoclothing - false - Never - - - {6152D284-A720-3556-A60A-7C13C89205AD} - autodump - false - Never - - - {4049FF1D-8A65-3021-B550-0DE0E63F9577} - autofarm - false - Never - - - {8CE562EE-798E-3C1B-975C-F49C6B5C84ED} - autolabor - false - Never - - - {961FD68A-49A7-3F16-9F96-16AC8236D3A3} - autonestbox - false - Never - - - {D3C67352-8290-3C4E-9F23-93DDE051AA37} - autoslab - false - Never - - - {A0486456-80E4-3492-940E-6652FF2B45B9} - binpatch - - - {386966C3-DC46-3936-AD44-35E2470C6A28} - blueprint - false - Never - - - {02D9B109-1602-3567-80C0-3BF354675829} - buildingplan - false - Never - - - {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA} - changeitem - false - Never - - - {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515} - changelayer - false - Never - - - {76B00654-E15A-3E4F-8C41-DDC63A14246A} - changevein - false - Never - - - {D7DF31C2-3247-31BA-A745-DF4095334504} - channel-safely - false - Never - - - {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204} - cleanconst - false - Never - - - {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5} - cleaners - false - Never - - - {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB} - cleanowned - false - Never - - - {BAABB124-4999-3462-AF35-16DB3C974D7C} - confirm - false - Never - - - {6F451C91-A082-3981-83D5-65844ED16BDA} - createitem - false - Never - - - {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80} - cursecheck - false - Never - - - {AB8FA0F9-1482-31F8-87E2-E3C7BB178053} - cxxrandom - false - Never - - - {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212} - debug - false - Never - - - {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20} - deramp - false - Never - - - {5347E62F-7AEB-3B7C-B480-161A35974C9E} - design - false - Never - - - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - dfhack - - - {136AD85C-398C-329A-84AC-AD4481963950} - dfhack-client - - - {78DBE964-AC8C-3264-903B-2B102B46D476} - dfhack-run - - - {5DC5A20B-821C-3008-A247-B08677276F56} - dfhack-version - - - {D3A6760C-34FD-3EE2-B9CC-24647168DC6A} - dig - false - Never - - - {AFC95A6A-BDBB-35E2-9381-253284E1112D} - dig-now - false - Never - - - {0AED7AC4-8C48-3205-AF43-3D536A60D815} - dwarfvet - false - Never - - - {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96} - eventful - false - Never - - - {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} - expat - - - {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7} - fastdwarf - false - Never - - - {47842A81-7497-313E-B466-C60AE89334CB} - faststart - false - Never - - - {25303A98-8EE4-3355-8C68-CFA8B4116EF0} - filltraffic - false - Never - - - {A80E6C37-1E31-3DDC-A4FE-B21553E580DB} - flows - false - Never - - - {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA} - getplants - false - Never - - - {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD} - hotkeys - false - Never - - - {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B} - lair - false - Never - - - {21572060-CA28-355B-A508-5675A4A2FAB3} - liquids - false - Never - - - {F1206958-458C-3F18-84D9-3EEE07B73862} - logistics - false - Never - - - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - lua - - - {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3} - luasocket - false - Never - - - {419297F2-C54C-3C4B-91AB-7B119D09E730} - misery - false - Never - - - {8F94C6B8-42CE-329C-B6A9-3E13C04350CF} - nestboxes - false - Never - - - {7FF993D7-A6D3-37CC-AE69-2906ECD89E03} - orders - false - Never - - - {374D8559-CBBF-3F24-BEE1-8B11A184B7F8} - overlay - false - Never - - - {4E197970-E280-3B04-AD7D-E52DC551E902} - pathable - false - Never - - - {4E6C8BD2-2434-31DC-BDD2-8788D2547403} - probe - false - Never - - - {37629CF4-1B6A-312A-89B7-CF11593F51A4} - prospector - false - Never - - - {8D195538-264D-3C39-AB9A-653DA8A6F56E} - protobuf - - - {9302E53B-085D-3577-A3E2-EB51A51D084C} - protobuf-lite - - - {1C17AAAA-9E99-32C1-9FF6-E88C054A2646} - protoc - - - {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} - protoc-bin - - - {E36DC20B-AE7A-3449-B308-C932B9DD4290} - regrass - false - Never - - - {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121} - reveal - false - Never - - - {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3} - seedwatch - false - Never - - - {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2} - showmood - false - Never - - - {C080819A-4275-3D2A-84DE-7C21EDAE2BBA} - sort - false - Never - - - {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F} - stockpiles - false - Never - - - {6579683E-AB4A-3B40-A145-1952047837D2} - strangemood - false - Never - - - {2FE38842-BDF7-3A93-9D06-1C9814B6B11B} - tailor - false - Never - - - {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C} - tiletypes - false - Never - - - {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4} - work-now - false - Never - - - {C884F97B-4C5C-3457-AF4D-BB4C05670662} - workflow - false - Never - - - {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D} - xlsxio_read_STATIC - - - {796760C3-71E4-32AD-A9C4-B984AFC97106} - xlsxio_write_STATIC - - - {8054C91C-5221-314F-96C5-8FEC57BBEED1} - xlsxreader - false - Never - - - {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} - zip - - - {3B9F42C2-0060-329E-B123-7DEF1E91617D} - zone - false - Never - - - - - - \ No newline at end of file diff --git a/build/ALL_BUILD.vcxproj.filters b/build/ALL_BUILD.vcxproj.filters deleted file mode 100644 index a80df604e..000000000 --- a/build/ALL_BUILD.vcxproj.filters +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/build/Continuous.vcxproj b/build/Continuous.vcxproj deleted file mode 100644 index 63a376abe..000000000 --- a/build/Continuous.vcxproj +++ /dev/null @@ -1,145 +0,0 @@ - - - - x64 - - - - Release - x64 - - - RelWithDebInfo - x64 - - - - {D7C70C41-500D-35F8-A992-1351DDDCDA0C} - 10.0.22000.0 - Win32Proj - x64 - Continuous - NoUpgrade - - - - Utility - MultiByte - v143 - - - Utility - MultiByte - v143 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - $(Platform)\$(Configuration)\$(ProjectName)\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - - - E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - - - - setlocal -"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D Continuous -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\Continuous - false - false - - setlocal -"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D Continuous -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\Continuous - false - false - - - - - Always - Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp - false - Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp - false - - - - - - - - - {31277AF8-10A2-3494-B123-559421E08C26} - ZERO_CHECK - false - Never - - - - - - \ No newline at end of file diff --git a/build/Continuous.vcxproj.filters b/build/Continuous.vcxproj.filters deleted file mode 100644 index a7314dd00..000000000 --- a/build/Continuous.vcxproj.filters +++ /dev/null @@ -1,17 +0,0 @@ - - - - - CMake Rules - - - - - - - - - {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} - - - diff --git a/build/Experimental.vcxproj b/build/Experimental.vcxproj deleted file mode 100644 index 396a79388..000000000 --- a/build/Experimental.vcxproj +++ /dev/null @@ -1,145 +0,0 @@ - - - - x64 - - - - Release - x64 - - - RelWithDebInfo - x64 - - - - {474F765F-548E-3AAB-8D5B-66CF364BE4B2} - 10.0.22000.0 - Win32Proj - x64 - Experimental - NoUpgrade - - - - Utility - MultiByte - v143 - - - Utility - MultiByte - v143 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - $(Platform)\$(Configuration)\$(ProjectName)\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - - - E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - - - - setlocal -"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D Experimental -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\Experimental - false - false - - setlocal -"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D Experimental -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\Experimental - false - false - - - - - Always - Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp - false - Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp - false - - - - - - - - - {31277AF8-10A2-3494-B123-559421E08C26} - ZERO_CHECK - false - Never - - - - - - \ No newline at end of file diff --git a/build/Experimental.vcxproj.filters b/build/Experimental.vcxproj.filters deleted file mode 100644 index 8622c11e8..000000000 --- a/build/Experimental.vcxproj.filters +++ /dev/null @@ -1,17 +0,0 @@ - - - - - CMake Rules - - - - - - - - - {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} - - - diff --git a/build/INSTALL.vcxproj b/build/INSTALL.vcxproj deleted file mode 100644 index fcc0e5dd0..000000000 --- a/build/INSTALL.vcxproj +++ /dev/null @@ -1,126 +0,0 @@ - - - - x64 - - - - Release - x64 - - - RelWithDebInfo - x64 - - - - {07ADCCA9-7D16-3F3D-AB6F-1BDA83D4E943} - 10.0.22000.0 - Win32Proj - x64 - INSTALL - NoUpgrade - - - - Utility - MultiByte - v143 - - - Utility - MultiByte - v143 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - $(Platform)\$(Configuration)\$(ProjectName)\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - Always - - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - - - - - Always - - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - - - - - - setlocal -cd . -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\INSTALL_force - false - false - - setlocal -cd . -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\INSTALL_force - false - false - - - - - {31277AF8-10A2-3494-B123-559421E08C26} - ZERO_CHECK - false - Never - - - {40EA859D-1269-313F-A313-AA32B87C8935} - ALL_BUILD - false - Never - - - - - - \ No newline at end of file diff --git a/build/INSTALL.vcxproj.filters b/build/INSTALL.vcxproj.filters deleted file mode 100644 index 1d3583629..000000000 --- a/build/INSTALL.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - CMake Rules - - - - - {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} - - - diff --git a/build/Nightly.vcxproj b/build/Nightly.vcxproj deleted file mode 100644 index ff59ec296..000000000 --- a/build/Nightly.vcxproj +++ /dev/null @@ -1,145 +0,0 @@ - - - - x64 - - - - Release - x64 - - - RelWithDebInfo - x64 - - - - {246A2207-0D75-3894-8E4E-785344D8ABF4} - 10.0.22000.0 - Win32Proj - x64 - Nightly - NoUpgrade - - - - Utility - MultiByte - v143 - - - Utility - MultiByte - v143 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - $(Platform)\$(Configuration)\$(ProjectName)\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - - - E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - - - - setlocal -"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D Nightly -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\Nightly - false - false - - setlocal -"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D Nightly -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\Nightly - false - false - - - - - Always - Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp - false - Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp - false - - - - - - - - - {31277AF8-10A2-3494-B123-559421E08C26} - ZERO_CHECK - false - Never - - - - - - \ No newline at end of file diff --git a/build/Nightly.vcxproj.filters b/build/Nightly.vcxproj.filters deleted file mode 100644 index cf94569d8..000000000 --- a/build/Nightly.vcxproj.filters +++ /dev/null @@ -1,17 +0,0 @@ - - - - - CMake Rules - - - - - - - - - {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} - - - diff --git a/build/NightlyMemoryCheck.vcxproj b/build/NightlyMemoryCheck.vcxproj deleted file mode 100644 index 260a79e55..000000000 --- a/build/NightlyMemoryCheck.vcxproj +++ /dev/null @@ -1,145 +0,0 @@ - - - - x64 - - - - Release - x64 - - - RelWithDebInfo - x64 - - - - {93318712-66D7-31F1-B537-E229E2FD9AF0} - 10.0.22000.0 - Win32Proj - x64 - NightlyMemoryCheck - NoUpgrade - - - - Utility - MultiByte - v143 - - - Utility - MultiByte - v143 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - $(Platform)\$(Configuration)\$(ProjectName)\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - - - E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - - - - setlocal -"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D NightlyMemoryCheck -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\NightlyMemoryCheck - false - false - - setlocal -"C:\Program Files\CMake\bin\ctest.exe" -C $(Configuration) -D NightlyMemoryCheck -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\NightlyMemoryCheck - false - false - - - - - Always - Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp - false - Building Custom Rule E:/programming/cplus/dfhack/CMakeLists.txt - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-file E:/programming/cplus/dfhack/build/CMakeFiles/generate.stamp -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;%(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp - false - - - - - - - - - {31277AF8-10A2-3494-B123-559421E08C26} - ZERO_CHECK - false - Never - - - - - - \ No newline at end of file diff --git a/build/NightlyMemoryCheck.vcxproj.filters b/build/NightlyMemoryCheck.vcxproj.filters deleted file mode 100644 index a4b92fdc7..000000000 --- a/build/NightlyMemoryCheck.vcxproj.filters +++ /dev/null @@ -1,17 +0,0 @@ - - - - - CMake Rules - - - - - - - - - {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} - - - diff --git a/build/PACKAGE.vcxproj b/build/PACKAGE.vcxproj deleted file mode 100644 index 67c1c92dc..000000000 --- a/build/PACKAGE.vcxproj +++ /dev/null @@ -1,132 +0,0 @@ - - - - x64 - - - - Release - x64 - - - RelWithDebInfo - x64 - - - - {F20BBC06-43D9-375A-A5A9-E717817CF640} - 10.0.22000.0 - Win32Proj - x64 - PACKAGE - NoUpgrade - - - - Utility - MultiByte - v143 - - - Utility - MultiByte - v143 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - $(Platform)\$(Configuration)\$(ProjectName)\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - - setlocal -cd E:\programming\cplus\dfhack\build -if %errorlevel% neq 0 goto :cmEnd -E: -if %errorlevel% neq 0 goto :cmEnd -"C:\Program Files\CMake\bin\cpack.exe" -C $(Configuration) --config ./CPackConfig.cmake -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - - - - - - setlocal -cd E:\programming\cplus\dfhack\build -if %errorlevel% neq 0 goto :cmEnd -E: -if %errorlevel% neq 0 goto :cmEnd -"C:\Program Files\CMake\bin\cpack.exe" -C $(Configuration) --config ./CPackConfig.cmake -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - - - - - - setlocal -cd . -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\PACKAGE_force - false - false - - setlocal -cd . -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\PACKAGE_force - false - false - - - - - {31277AF8-10A2-3494-B123-559421E08C26} - ZERO_CHECK - false - Never - - - {40EA859D-1269-313F-A313-AA32B87C8935} - ALL_BUILD - false - Never - - - - - - \ No newline at end of file diff --git a/build/PACKAGE.vcxproj.filters b/build/PACKAGE.vcxproj.filters deleted file mode 100644 index 8c2a983bf..000000000 --- a/build/PACKAGE.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - CMake Rules - - - - - {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} - - - diff --git a/build/RUN_TESTS.vcxproj b/build/RUN_TESTS.vcxproj deleted file mode 100644 index 197f2baf3..000000000 --- a/build/RUN_TESTS.vcxproj +++ /dev/null @@ -1,118 +0,0 @@ - - - - x64 - - - - Release - x64 - - - RelWithDebInfo - x64 - - - - {45641EBC-7207-3F33-8572-930EA9BD4C6B} - 10.0.22000.0 - Win32Proj - x64 - RUN_TESTS - NoUpgrade - - - - Utility - MultiByte - v143 - - - Utility - MultiByte - v143 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - $(Platform)\$(Configuration)\$(ProjectName)\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - - setlocal -"C:\Program Files\CMake\bin\ctest.exe" --force-new-ctest-process -C $(Configuration) -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - - - - - - setlocal -"C:\Program Files\CMake\bin\ctest.exe" --force-new-ctest-process -C $(Configuration) -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - - - - - - setlocal -cd . -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\RUN_TESTS_force - false - false - - setlocal -cd . -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - %(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\RUN_TESTS_force - false - false - - - - - {31277AF8-10A2-3494-B123-559421E08C26} - ZERO_CHECK - false - Never - - - - - - \ No newline at end of file diff --git a/build/RUN_TESTS.vcxproj.filters b/build/RUN_TESTS.vcxproj.filters deleted file mode 100644 index 9b4c15921..000000000 --- a/build/RUN_TESTS.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - CMake Rules - - - - - {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} - - - diff --git a/build/ZERO_CHECK.vcxproj b/build/ZERO_CHECK.vcxproj deleted file mode 100644 index c71698f74..000000000 --- a/build/ZERO_CHECK.vcxproj +++ /dev/null @@ -1,105 +0,0 @@ - - - - x64 - - - - Release - x64 - - - RelWithDebInfo - x64 - - - - {31277AF8-10A2-3494-B123-559421E08C26} - 10.0.22000.0 - Win32Proj - x64 - ZERO_CHECK - NoUpgrade - - - - Utility - MultiByte - v143 - - - Utility - MultiByte - v143 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - $(Platform)\$(Configuration)\$(ProjectName)\ - $(Platform)\$(Configuration)\$(ProjectName)\ - - - - E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - - - E:\programming\cplus\dfhack\depends\zlib\include;E:\programming\cplus\dfhack\depends\SDL2\SDL2-2.26.2\include;E:\programming\cplus\dfhack\depends\protobuf;E:\programming\cplus\dfhack\depends\lua\include;E:\programming\cplus\dfhack\depends\md5;E:\programming\cplus\dfhack\depends\tinyxml;E:\programming\cplus\dfhack\depends\lodepng;E:\programming\cplus\dfhack\depends\tthread;E:\programming\cplus\dfhack\depends\clsocket\src;E:\programming\cplus\dfhack\depends\xlsxio\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - - - Always - Checking Build System - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-list CMakeFiles/generate.stamp.list --vs-solution-file E:/programming/cplus/dfhack/build/dfhack.sln -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - C:\Program Files\CMake\share\cmake-3.22\Modules\BasicConfigVersion-AnyNewerVersion.cmake.in;C:\Program Files\CMake\share\cmake-3.22\Modules\BasicConfigVersion-SameMajorVersion.cmake.in;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCheckCompilerFlagCommonPatterns.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakePackageConfigHelpers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCCompilerFlag.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCSourceRuns.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSymbolExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckFunctionExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckIncludeFile.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckIncludeFileCXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckIncludeFiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckLibraryExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckStructHasMember.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckSymbolExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckTypeSize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\GNUInstallDirs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckCompilerFlag.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceRuns.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\TestBigEndian.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\WriteBasicConfigVersionFile.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\CMakeLists.txt;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;E:\programming\cplus\dfhack\data\CMakeLists.txt;E:\programming\cplus\dfhack\depends\CMakeLists.txt;E:\programming\cplus\dfhack\depends\clsocket\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\cmake\JoinPaths.cmake;E:\programming\cplus\dfhack\depends\jsoncpp-sub\include\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\include\PreventInBuildInstalls.cmake;E:\programming\cplus\dfhack\depends\jsoncpp-sub\include\PreventInSourceBuilds.cmake;E:\programming\cplus\dfhack\depends\jsoncpp-sub\pkg-config\jsoncpp.pc.in;E:\programming\cplus\dfhack\depends\jsoncpp-sub\src\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\src\lib_json\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\version.in;E:\programming\cplus\dfhack\depends\libexpat\expat\CMakeLists.txt;E:\programming\cplus\dfhack\depends\libexpat\expat\Changes;E:\programming\cplus\dfhack\depends\libexpat\expat\ConfigureChecks.cmake;E:\programming\cplus\dfhack\depends\libexpat\expat\cmake\expat-config.cmake.in;E:\programming\cplus\dfhack\depends\libexpat\expat\expat_config.h.cmake;E:\programming\cplus\dfhack\depends\libzip\CMakeLists.txt;E:\programming\cplus\dfhack\depends\libzip\cmake-config.h.in;E:\programming\cplus\dfhack\depends\libzip\cmake-zipconf.h.in;E:\programming\cplus\dfhack\depends\libzip\cmake\Dist.cmake;E:\programming\cplus\dfhack\depends\libzip\lib\CMakeLists.txt;E:\programming\cplus\dfhack\depends\libzip\libzip-config.cmake.in;E:\programming\cplus\dfhack\depends\libzip\libzip.pc.in;E:\programming\cplus\dfhack\depends\libzip\regress\nihtest.conf.in;E:\programming\cplus\dfhack\depends\libzip\regress\runtest.in;E:\programming\cplus\dfhack\depends\lodepng\CMakeLists.txt;E:\programming\cplus\dfhack\depends\lua\CMakeLists.txt;E:\programming\cplus\dfhack\depends\md5\CMakeLists.txt;E:\programming\cplus\dfhack\depends\protobuf\CMakeLists.txt;E:\programming\cplus\dfhack\depends\protobuf\config.h.in;E:\programming\cplus\dfhack\depends\tinyxml\CMakeLists.txt;E:\programming\cplus\dfhack\depends\tthread\CMakeLists.txt;E:\programming\cplus\dfhack\depends\xlsxio\CMakeLists.txt;E:\programming\cplus\dfhack\library\CMakeLists.txt;E:\programming\cplus\dfhack\library\git-describe.cmake.in;E:\programming\cplus\dfhack\library\xml\CMakeLists.txt;E:\programming\cplus\dfhack\library\xml\tools\CMakeLists.txt;E:\programming\cplus\dfhack\package\windows\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\Plugins.cmake;E:\programming\cplus\dfhack\plugins\autolabor\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\buildingplan\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\channel-safely\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\external\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\remotefortressreader\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\stockpiles\CMakeLists.txt;E:\programming\cplus\dfhack\scripts\CMakeLists.txt;%(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\lodepng\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\lua\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\md5\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\protobuf\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\tinyxml\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\tthread\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\src\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\src\lib_json\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\include\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\clsocket\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\libexpat\expat\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\libzip\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\libzip\lib\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\xlsxio\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\library\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\library\xml\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\library\xml\tools\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\autolabor\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\buildingplan\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\channel-safely\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\remotefortressreader\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\stockpiles\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\external\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\data\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\scripts\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\package\windows\CMakeFiles\generate.stamp - false - Checking Build System - setlocal -"C:\Program Files\CMake\bin\cmake.exe" -SE:/programming/cplus/dfhack -BE:/programming/cplus/dfhack/build --check-stamp-list CMakeFiles/generate.stamp.list --vs-solution-file E:/programming/cplus/dfhack/build/dfhack.sln -if %errorlevel% neq 0 goto :cmEnd -:cmEnd -endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone -:cmErrorLevel -exit /b %1 -:cmDone -if %errorlevel% neq 0 goto :VCEnd - C:\Program Files\CMake\share\cmake-3.22\Modules\BasicConfigVersion-AnyNewerVersion.cmake.in;C:\Program Files\CMake\share\cmake-3.22\Modules\BasicConfigVersion-SameMajorVersion.cmake.in;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCXXInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCheckCompilerFlagCommonPatterns.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeGenericSystem.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeInitializeConfigs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeLanguageInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakePackageConfigHelpers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeRCInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CMakeSystemSpecificInitialize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPack.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CPackComponent.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTest.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestTargets.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CTestUseLaunchers.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCCompilerFlag.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCSourceRuns.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckCXXSymbolExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckFunctionExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckIncludeFile.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckIncludeFileCXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckIncludeFiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckLibraryExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckStructHasMember.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckSymbolExists.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\CheckTypeSize.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\CMakeCommonCompilerMacros.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Compiler\MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\DartConfiguration.tcl.in;C:\Program Files\CMake\share\cmake-3.22\Modules\FindCygwin.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindGit.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindMsys.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPackageMessage.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindPerl.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\FindZLIB.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\GNUInstallDirs.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckCompilerFlag.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceCompiles.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Internal\CheckSourceRuns.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows-MSVC.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\Windows.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\Platform\WindowsPaths.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\SelectLibraryConfigurations.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\TestBigEndian.cmake;C:\Program Files\CMake\share\cmake-3.22\Modules\WriteBasicConfigVersionFile.cmake;C:\Program Files\CMake\share\cmake-3.22\Templates\CPackConfig.cmake.in;E:\programming\cplus\dfhack\CMake\DownloadFile.cmake;E:\programming\cplus\dfhack\CMakeLists.txt;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeCXXCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeRCCompiler.cmake;E:\programming\cplus\dfhack\build\CMakeFiles\3.22.1\CMakeSystem.cmake;E:\programming\cplus\dfhack\data\CMakeLists.txt;E:\programming\cplus\dfhack\depends\CMakeLists.txt;E:\programming\cplus\dfhack\depends\clsocket\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\cmake\JoinPaths.cmake;E:\programming\cplus\dfhack\depends\jsoncpp-sub\include\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\include\PreventInBuildInstalls.cmake;E:\programming\cplus\dfhack\depends\jsoncpp-sub\include\PreventInSourceBuilds.cmake;E:\programming\cplus\dfhack\depends\jsoncpp-sub\pkg-config\jsoncpp.pc.in;E:\programming\cplus\dfhack\depends\jsoncpp-sub\src\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\src\lib_json\CMakeLists.txt;E:\programming\cplus\dfhack\depends\jsoncpp-sub\version.in;E:\programming\cplus\dfhack\depends\libexpat\expat\CMakeLists.txt;E:\programming\cplus\dfhack\depends\libexpat\expat\Changes;E:\programming\cplus\dfhack\depends\libexpat\expat\ConfigureChecks.cmake;E:\programming\cplus\dfhack\depends\libexpat\expat\cmake\expat-config.cmake.in;E:\programming\cplus\dfhack\depends\libexpat\expat\expat_config.h.cmake;E:\programming\cplus\dfhack\depends\libzip\CMakeLists.txt;E:\programming\cplus\dfhack\depends\libzip\cmake-config.h.in;E:\programming\cplus\dfhack\depends\libzip\cmake-zipconf.h.in;E:\programming\cplus\dfhack\depends\libzip\cmake\Dist.cmake;E:\programming\cplus\dfhack\depends\libzip\lib\CMakeLists.txt;E:\programming\cplus\dfhack\depends\libzip\libzip-config.cmake.in;E:\programming\cplus\dfhack\depends\libzip\libzip.pc.in;E:\programming\cplus\dfhack\depends\libzip\regress\nihtest.conf.in;E:\programming\cplus\dfhack\depends\libzip\regress\runtest.in;E:\programming\cplus\dfhack\depends\lodepng\CMakeLists.txt;E:\programming\cplus\dfhack\depends\lua\CMakeLists.txt;E:\programming\cplus\dfhack\depends\md5\CMakeLists.txt;E:\programming\cplus\dfhack\depends\protobuf\CMakeLists.txt;E:\programming\cplus\dfhack\depends\protobuf\config.h.in;E:\programming\cplus\dfhack\depends\tinyxml\CMakeLists.txt;E:\programming\cplus\dfhack\depends\tthread\CMakeLists.txt;E:\programming\cplus\dfhack\depends\xlsxio\CMakeLists.txt;E:\programming\cplus\dfhack\library\CMakeLists.txt;E:\programming\cplus\dfhack\library\git-describe.cmake.in;E:\programming\cplus\dfhack\library\xml\CMakeLists.txt;E:\programming\cplus\dfhack\library\xml\tools\CMakeLists.txt;E:\programming\cplus\dfhack\package\windows\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\Plugins.cmake;E:\programming\cplus\dfhack\plugins\autolabor\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\buildingplan\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\channel-safely\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\external\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\remotefortressreader\CMakeLists.txt;E:\programming\cplus\dfhack\plugins\stockpiles\CMakeLists.txt;E:\programming\cplus\dfhack\scripts\CMakeLists.txt;%(AdditionalInputs) - E:\programming\cplus\dfhack\build\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\lodepng\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\lua\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\md5\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\protobuf\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\tinyxml\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\tthread\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\src\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\src\lib_json\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\jsoncpp-sub\include\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\clsocket\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\libexpat\expat\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\libzip\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\libzip\lib\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\depends\xlsxio\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\library\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\library\xml\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\library\xml\tools\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\autolabor\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\buildingplan\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\channel-safely\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\remotefortressreader\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\stockpiles\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\plugins\external\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\data\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\scripts\CMakeFiles\generate.stamp;E:\programming\cplus\dfhack\build\package\windows\CMakeFiles\generate.stamp - false - - - - - - - - - - \ No newline at end of file diff --git a/build/ZERO_CHECK.vcxproj.filters b/build/ZERO_CHECK.vcxproj.filters deleted file mode 100644 index 2c79705a5..000000000 --- a/build/ZERO_CHECK.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - CMake Rules - - - - - {AFAB5955-3E8F-3466-BF00-9CBF4FE558A1} - - - diff --git a/build/dfhack.sln b/build/dfhack.sln deleted file mode 100644 index 83a916c71..000000000 --- a/build/dfhack.sln +++ /dev/null @@ -1,1295 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CMakePredefinedTargets", "CMakePredefinedTargets", "{28D9607F-8931-375B-9273-9E20D2F6347F}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CTestDashboardTargets", "CTestDashboardTargets", "{068CE9B1-E6DD-3864-AC38-93F10EF27A17}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Depends", "Depends", "{D8D353CC-1D2C-3A83-8EA0-A85D6CF14722}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{25456F37-E968-3921-80E5-1C0E141753B6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALL_BUILD", "ALL_BUILD.vcxproj", "{40EA859D-1269-313F-A313-AA32B87C8935}" - ProjectSection(ProjectDependencies) = postProject - {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA} = {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA} - {14C478D6-D815-378F-81D1-B53BBD6CBE9A} = {14C478D6-D815-378F-81D1-B53BBD6CBE9A} - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {3A2B0858-3B92-3598-B679-2A437C1286E0} = {3A2B0858-3B92-3598-B679-2A437C1286E0} - {27ECEB5C-C396-32BE-93E6-4D4801692191} = {27ECEB5C-C396-32BE-93E6-4D4801692191} - {5F63101D-75FE-31BE-9D25-6641FBBFF959} = {5F63101D-75FE-31BE-9D25-6641FBBFF959} - {7D67495E-4C92-37BE-BEF8-174CA37ADD21} = {7D67495E-4C92-37BE-BEF8-174CA37ADD21} - {6152D284-A720-3556-A60A-7C13C89205AD} = {6152D284-A720-3556-A60A-7C13C89205AD} - {4049FF1D-8A65-3021-B550-0DE0E63F9577} = {4049FF1D-8A65-3021-B550-0DE0E63F9577} - {8CE562EE-798E-3C1B-975C-F49C6B5C84ED} = {8CE562EE-798E-3C1B-975C-F49C6B5C84ED} - {961FD68A-49A7-3F16-9F96-16AC8236D3A3} = {961FD68A-49A7-3F16-9F96-16AC8236D3A3} - {D3C67352-8290-3C4E-9F23-93DDE051AA37} = {D3C67352-8290-3C4E-9F23-93DDE051AA37} - {A0486456-80E4-3492-940E-6652FF2B45B9} = {A0486456-80E4-3492-940E-6652FF2B45B9} - {386966C3-DC46-3936-AD44-35E2470C6A28} = {386966C3-DC46-3936-AD44-35E2470C6A28} - {02D9B109-1602-3567-80C0-3BF354675829} = {02D9B109-1602-3567-80C0-3BF354675829} - {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA} = {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA} - {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515} = {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515} - {76B00654-E15A-3E4F-8C41-DDC63A14246A} = {76B00654-E15A-3E4F-8C41-DDC63A14246A} - {D7DF31C2-3247-31BA-A745-DF4095334504} = {D7DF31C2-3247-31BA-A745-DF4095334504} - {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204} = {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204} - {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5} = {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5} - {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB} = {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB} - {BAABB124-4999-3462-AF35-16DB3C974D7C} = {BAABB124-4999-3462-AF35-16DB3C974D7C} - {6F451C91-A082-3981-83D5-65844ED16BDA} = {6F451C91-A082-3981-83D5-65844ED16BDA} - {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80} = {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80} - {AB8FA0F9-1482-31F8-87E2-E3C7BB178053} = {AB8FA0F9-1482-31F8-87E2-E3C7BB178053} - {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212} = {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212} - {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20} = {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20} - {5347E62F-7AEB-3B7C-B480-161A35974C9E} = {5347E62F-7AEB-3B7C-B480-161A35974C9E} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {136AD85C-398C-329A-84AC-AD4481963950} = {136AD85C-398C-329A-84AC-AD4481963950} - {78DBE964-AC8C-3264-903B-2B102B46D476} = {78DBE964-AC8C-3264-903B-2B102B46D476} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {D3A6760C-34FD-3EE2-B9CC-24647168DC6A} = {D3A6760C-34FD-3EE2-B9CC-24647168DC6A} - {AFC95A6A-BDBB-35E2-9381-253284E1112D} = {AFC95A6A-BDBB-35E2-9381-253284E1112D} - {0AED7AC4-8C48-3205-AF43-3D536A60D815} = {0AED7AC4-8C48-3205-AF43-3D536A60D815} - {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96} = {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96} - {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} = {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} - {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7} = {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7} - {47842A81-7497-313E-B466-C60AE89334CB} = {47842A81-7497-313E-B466-C60AE89334CB} - {25303A98-8EE4-3355-8C68-CFA8B4116EF0} = {25303A98-8EE4-3355-8C68-CFA8B4116EF0} - {A80E6C37-1E31-3DDC-A4FE-B21553E580DB} = {A80E6C37-1E31-3DDC-A4FE-B21553E580DB} - {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA} = {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA} - {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD} = {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD} - {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B} = {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B} - {21572060-CA28-355B-A508-5675A4A2FAB3} = {21572060-CA28-355B-A508-5675A4A2FAB3} - {F1206958-458C-3F18-84D9-3EEE07B73862} = {F1206958-458C-3F18-84D9-3EEE07B73862} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3} = {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3} - {419297F2-C54C-3C4B-91AB-7B119D09E730} = {419297F2-C54C-3C4B-91AB-7B119D09E730} - {8F94C6B8-42CE-329C-B6A9-3E13C04350CF} = {8F94C6B8-42CE-329C-B6A9-3E13C04350CF} - {7FF993D7-A6D3-37CC-AE69-2906ECD89E03} = {7FF993D7-A6D3-37CC-AE69-2906ECD89E03} - {374D8559-CBBF-3F24-BEE1-8B11A184B7F8} = {374D8559-CBBF-3F24-BEE1-8B11A184B7F8} - {4E197970-E280-3B04-AD7D-E52DC551E902} = {4E197970-E280-3B04-AD7D-E52DC551E902} - {4E6C8BD2-2434-31DC-BDD2-8788D2547403} = {4E6C8BD2-2434-31DC-BDD2-8788D2547403} - {37629CF4-1B6A-312A-89B7-CF11593F51A4} = {37629CF4-1B6A-312A-89B7-CF11593F51A4} - {8D195538-264D-3C39-AB9A-653DA8A6F56E} = {8D195538-264D-3C39-AB9A-653DA8A6F56E} - {9302E53B-085D-3577-A3E2-EB51A51D084C} = {9302E53B-085D-3577-A3E2-EB51A51D084C} - {1C17AAAA-9E99-32C1-9FF6-E88C054A2646} = {1C17AAAA-9E99-32C1-9FF6-E88C054A2646} - {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} = {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} - {E36DC20B-AE7A-3449-B308-C932B9DD4290} = {E36DC20B-AE7A-3449-B308-C932B9DD4290} - {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121} = {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121} - {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3} = {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3} - {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2} = {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2} - {C080819A-4275-3D2A-84DE-7C21EDAE2BBA} = {C080819A-4275-3D2A-84DE-7C21EDAE2BBA} - {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F} = {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F} - {6579683E-AB4A-3B40-A145-1952047837D2} = {6579683E-AB4A-3B40-A145-1952047837D2} - {2FE38842-BDF7-3A93-9D06-1C9814B6B11B} = {2FE38842-BDF7-3A93-9D06-1C9814B6B11B} - {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C} = {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C} - {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4} = {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4} - {C884F97B-4C5C-3457-AF4D-BB4C05670662} = {C884F97B-4C5C-3457-AF4D-BB4C05670662} - {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D} = {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D} - {796760C3-71E4-32AD-A9C4-B984AFC97106} = {796760C3-71E4-32AD-A9C4-B984AFC97106} - {8054C91C-5221-314F-96C5-8FEC57BBEED1} = {8054C91C-5221-314F-96C5-8FEC57BBEED1} - {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} = {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} - {3B9F42C2-0060-329E-B123-7DEF1E91617D} = {3B9F42C2-0060-329E-B123-7DEF1E91617D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3dveins", "plugins\3dveins.vcxproj", "{B10F83BD-77CE-3CC2-A4D0-2B412287DFEA}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Continuous", "Continuous.vcxproj", "{D7C70C41-500D-35F8-A992-1351DDDCDA0C}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Experimental", "Experimental.vcxproj", "{474F765F-548E-3AAB-8D5B-66CF364BE4B2}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INSTALL", "INSTALL.vcxproj", "{07ADCCA9-7D16-3F3D-AB6F-1BDA83D4E943}" - ProjectSection(ProjectDependencies) = postProject - {40EA859D-1269-313F-A313-AA32B87C8935} = {40EA859D-1269-313F-A313-AA32B87C8935} - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Nightly", "Nightly.vcxproj", "{246A2207-0D75-3894-8E4E-785344D8ABF4}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NightlyMemoryCheck", "NightlyMemoryCheck.vcxproj", "{93318712-66D7-31F1-B537-E229E2FD9AF0}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PACKAGE", "PACKAGE.vcxproj", "{F20BBC06-43D9-375A-A5A9-E717817CF640}" - ProjectSection(ProjectDependencies) = postProject - {40EA859D-1269-313F-A313-AA32B87C8935} = {40EA859D-1269-313F-A313-AA32B87C8935} - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RUN_TESTS", "RUN_TESTS.vcxproj", "{45641EBC-7207-3F33-8572-930EA9BD4C6B}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RemoteFortressReader", "plugins\remotefortressreader\RemoteFortressReader.vcxproj", "{14C478D6-D815-378F-81D1-B53BBD6CBE9A}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {69CB13F6-E5DD-3AC2-AF47-08A452514760} = {69CB13F6-E5DD-3AC2-AF47-08A452514760} - {9302E53B-085D-3577-A3E2-EB51A51D084C} = {9302E53B-085D-3577-A3E2-EB51A51D084C} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "ZERO_CHECK.vcxproj", "{31277AF8-10A2-3494-B123-559421E08C26}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "add-spatter", "plugins\add-spatter.vcxproj", "{3A2B0858-3B92-3598-B679-2A437C1286E0}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autobutcher", "plugins\autobutcher.vcxproj", "{27ECEB5C-C396-32BE-93E6-4D4801692191}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autochop", "plugins\autochop.vcxproj", "{5F63101D-75FE-31BE-9D25-6641FBBFF959}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autoclothing", "plugins\autoclothing.vcxproj", "{7D67495E-4C92-37BE-BEF8-174CA37ADD21}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autodump", "plugins\autodump.vcxproj", "{6152D284-A720-3556-A60A-7C13C89205AD}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autofarm", "plugins\autofarm.vcxproj", "{4049FF1D-8A65-3021-B550-0DE0E63F9577}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autolabor", "plugins\autolabor\autolabor.vcxproj", "{8CE562EE-798E-3C1B-975C-F49C6B5C84ED}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autonestbox", "plugins\autonestbox.vcxproj", "{961FD68A-49A7-3F16-9F96-16AC8236D3A3}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "autoslab", "plugins\autoslab.vcxproj", "{D3C67352-8290-3C4E-9F23-93DDE051AA37}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "binpatch", "library\binpatch.vcxproj", "{A0486456-80E4-3492-940E-6652FF2B45B9}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {111D1A41-5C7F-397A-A62C-B19B0AEB044B} = {111D1A41-5C7F-397A-A62C-B19B0AEB044B} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "blueprint", "plugins\blueprint.vcxproj", "{386966C3-DC46-3936-AD44-35E2470C6A28}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "buildingplan", "plugins\buildingplan\buildingplan.vcxproj", "{02D9B109-1602-3567-80C0-3BF354675829}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "changeitem", "plugins\changeitem.vcxproj", "{B6B32914-FA20-3991-AEDE-3FFA75FDF7DA}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "changelayer", "plugins\changelayer.vcxproj", "{C153A10F-47F2-3FF1-A27D-0CE7AA4B1515}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "changevein", "plugins\changevein.vcxproj", "{76B00654-E15A-3E4F-8C41-DDC63A14246A}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "channel-safely", "plugins\channel-safely\channel-safely.vcxproj", "{D7DF31C2-3247-31BA-A745-DF4095334504}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cleanconst", "plugins\cleanconst.vcxproj", "{2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cleaners", "plugins\cleaners.vcxproj", "{099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cleanowned", "plugins\cleanowned.vcxproj", "{D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "clsocket", "depends\clsocket\clsocket.vcxproj", "{39BD79E1-6088-33F3-AD4A-74F0E0EE785C}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "confirm", "plugins\confirm.vcxproj", "{BAABB124-4999-3462-AF35-16DB3C974D7C}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "createitem", "plugins\createitem.vcxproj", "{6F451C91-A082-3981-83D5-65844ED16BDA}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cursecheck", "plugins\cursecheck.vcxproj", "{C143DDD8-9AB8-368F-ACE4-BA4F7651DA80}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cxxrandom", "plugins\cxxrandom.vcxproj", "{AB8FA0F9-1482-31F8-87E2-E3C7BB178053}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "debug", "plugins\debug.vcxproj", "{CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {CD9E5829-45CA-308D-9ED7-C2C38139D69E} = {CD9E5829-45CA-308D-9ED7-C2C38139D69E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "deramp", "plugins\deramp.vcxproj", "{E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "design", "plugins\design.vcxproj", "{5347E62F-7AEB-3B7C-B480-161A35974C9E}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack", "library\dfhack.vcxproj", "{6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} = {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} - {111D1A41-5C7F-397A-A62C-B19B0AEB044B} = {111D1A41-5C7F-397A-A62C-B19B0AEB044B} - {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7} = {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7} - {19F34DB6-1C4F-36FD-A7A8-8E5077651209} = {19F34DB6-1C4F-36FD-A7A8-8E5077651209} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE} = {F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE} - {A294D3AD-91C7-32D9-B361-D399900843E5} = {A294D3AD-91C7-32D9-B361-D399900843E5} - {CD9E5829-45CA-308D-9ED7-C2C38139D69E} = {CD9E5829-45CA-308D-9ED7-C2C38139D69E} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - {9302E53B-085D-3577-A3E2-EB51A51D084C} = {9302E53B-085D-3577-A3E2-EB51A51D084C} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-client", "library\dfhack-client.vcxproj", "{136AD85C-398C-329A-84AC-AD4481963950}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} = {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {CD9E5829-45CA-308D-9ED7-C2C38139D69E} = {CD9E5829-45CA-308D-9ED7-C2C38139D69E} - {9302E53B-085D-3577-A3E2-EB51A51D084C} = {9302E53B-085D-3577-A3E2-EB51A51D084C} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-lodepng", "depends\lodepng\dfhack-lodepng.vcxproj", "{8DB90A0E-6076-3C07-B890-7E5E886009EC}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-md5", "depends\md5\dfhack-md5.vcxproj", "{111D1A41-5C7F-397A-A62C-B19B0AEB044B}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-run", "library\dfhack-run.vcxproj", "{78DBE964-AC8C-3264-903B-2B102B46D476}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} = {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} - {136AD85C-398C-329A-84AC-AD4481963950} = {136AD85C-398C-329A-84AC-AD4481963950} - {CD9E5829-45CA-308D-9ED7-C2C38139D69E} = {CD9E5829-45CA-308D-9ED7-C2C38139D69E} - {9302E53B-085D-3577-A3E2-EB51A51D084C} = {9302E53B-085D-3577-A3E2-EB51A51D084C} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-tinythread", "depends\tthread\dfhack-tinythread.vcxproj", "{D3A713C3-480C-3DF0-95FA-8B80D95DF8F7}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-tinyxml", "depends\tinyxml\dfhack-tinyxml.vcxproj", "{19F34DB6-1C4F-36FD-A7A8-8E5077651209}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dfhack-version", "library\dfhack-version.vcxproj", "{5DC5A20B-821C-3008-A247-B08677276F56}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dig", "plugins\dig.vcxproj", "{D3A6760C-34FD-3EE2-B9CC-24647168DC6A}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dig-now", "plugins\dig-now.vcxproj", "{AFC95A6A-BDBB-35E2-9381-253284E1112D}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dist", "depends\libzip\dist.vcxproj", "{24F97336-D35B-3FBA-BEF8-64B2D5845D3F}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "distcheck", "depends\libzip\distcheck.vcxproj", "{86289ECD-3E29-3E01-93B2-829B5666A809}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {24F97336-D35B-3FBA-BEF8-64B2D5845D3F} = {24F97336-D35B-3FBA-BEF8-64B2D5845D3F} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dwarfvet", "plugins\dwarfvet.vcxproj", "{0AED7AC4-8C48-3205-AF43-3D536A60D815}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "eventful", "plugins\eventful.vcxproj", "{D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "expat", "depends\libexpat\expat\expat.vcxproj", "{BA32E800-D5FA-3F4E-B91B-763CD4FE389C}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fastdwarf", "plugins\fastdwarf.vcxproj", "{894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "faststart", "plugins\faststart.vcxproj", "{47842A81-7497-313E-B466-C60AE89334CB}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "filltraffic", "plugins\filltraffic.vcxproj", "{25303A98-8EE4-3355-8C68-CFA8B4116EF0}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flows", "plugins\flows.vcxproj", "{A80E6C37-1E31-3DDC-A4FE-B21553E580DB}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_headers", "library\generate_headers.vcxproj", "{F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_proto", "plugins\generate_proto.vcxproj", "{0AE42C92-16FF-3E69-B468-111535996095}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} = {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_proto_RemoteFortressReader", "plugins\remotefortressreader\generate_proto_RemoteFortressReader.vcxproj", "{69CB13F6-E5DD-3AC2-AF47-08A452514760}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} = {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_proto_core", "library\generate_proto_core.vcxproj", "{A294D3AD-91C7-32D9-B361-D399900843E5}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} = {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate_proto_stockpiles", "plugins\stockpiles\generate_proto_stockpiles.vcxproj", "{73A57BCF-3487-35DC-B448-FD328037CDF3}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} = {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "getplants", "plugins\getplants.vcxproj", "{E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hotkeys", "plugins\hotkeys.vcxproj", "{6F10CAC8-6D9F-357E-B574-5EC901BF4EAD}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsoncpp_static", "depends\jsoncpp-sub\src\lib_json\jsoncpp_static.vcxproj", "{CD9E5829-45CA-308D-9ED7-C2C38139D69E}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lair", "plugins\lair.vcxproj", "{DA8EE8E6-6AE0-3DA6-AED9-316977621A0B}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liquids", "plugins\liquids.vcxproj", "{21572060-CA28-355B-A508-5675A4A2FAB3}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "logistics", "plugins\logistics.vcxproj", "{F1206958-458C-3F18-84D9-3EEE07B73862}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua", "depends\lua\lua.vcxproj", "{6CA1FA88-B709-340C-8366-DCE4C1D1FB32}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "luasocket", "plugins\luasocket.vcxproj", "{4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} = {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7} = {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "misery", "plugins\misery.vcxproj", "{419297F2-C54C-3C4B-91AB-7B119D09E730}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nestboxes", "plugins\nestboxes.vcxproj", "{8F94C6B8-42CE-329C-B6A9-3E13C04350CF}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "orders", "plugins\orders.vcxproj", "{7FF993D7-A6D3-37CC-AE69-2906ECD89E03}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {CD9E5829-45CA-308D-9ED7-C2C38139D69E} = {CD9E5829-45CA-308D-9ED7-C2C38139D69E} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "overlay", "plugins\overlay.vcxproj", "{374D8559-CBBF-3F24-BEE1-8B11A184B7F8}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pathable", "plugins\pathable.vcxproj", "{4E197970-E280-3B04-AD7D-E52DC551E902}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "probe", "plugins\probe.vcxproj", "{4E6C8BD2-2434-31DC-BDD2-8788D2547403}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "prospector", "plugins\prospector.vcxproj", "{37629CF4-1B6A-312A-89B7-CF11593F51A4}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protobuf", "depends\protobuf\protobuf.vcxproj", "{8D195538-264D-3C39-AB9A-653DA8A6F56E}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protobuf-lite", "depends\protobuf\protobuf-lite.vcxproj", "{9302E53B-085D-3577-A3E2-EB51A51D084C}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protoc", "depends\protobuf\protoc.vcxproj", "{1C17AAAA-9E99-32C1-9FF6-E88C054A2646}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {8D195538-264D-3C39-AB9A-653DA8A6F56E} = {8D195538-264D-3C39-AB9A-653DA8A6F56E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "protoc-bin", "depends\protobuf\protoc-bin.vcxproj", "{74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {8D195538-264D-3C39-AB9A-653DA8A6F56E} = {8D195538-264D-3C39-AB9A-653DA8A6F56E} - {1C17AAAA-9E99-32C1-9FF6-E88C054A2646} = {1C17AAAA-9E99-32C1-9FF6-E88C054A2646} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "regrass", "plugins\regrass.vcxproj", "{E36DC20B-AE7A-3449-B308-C932B9DD4290}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reveal", "plugins\reveal.vcxproj", "{C831208B-D7C3-3DD6-9F16-0EA8A5FF3121}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "seedwatch", "plugins\seedwatch.vcxproj", "{7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "showmood", "plugins\showmood.vcxproj", "{E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sort", "plugins\sort.vcxproj", "{C080819A-4275-3D2A-84DE-7C21EDAE2BBA}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stockpiles", "plugins\stockpiles\stockpiles.vcxproj", "{7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {73A57BCF-3487-35DC-B448-FD328037CDF3} = {73A57BCF-3487-35DC-B448-FD328037CDF3} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - {9302E53B-085D-3577-A3E2-EB51A51D084C} = {9302E53B-085D-3577-A3E2-EB51A51D084C} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "strangemood", "plugins\strangemood.vcxproj", "{6579683E-AB4A-3B40-A145-1952047837D2}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tailor", "plugins\tailor.vcxproj", "{2FE38842-BDF7-3A93-9D06-1C9814B6B11B}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tiletypes", "plugins\tiletypes.vcxproj", "{B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "work-now", "plugins\work-now.vcxproj", "{2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "workflow", "plugins\workflow.vcxproj", "{C884F97B-4C5C-3457-AF4D-BB4C05670662}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xlsxio_read_STATIC", "depends\xlsxio\xlsxio_read_STATIC.vcxproj", "{85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} = {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} - {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} = {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xlsxio_write_STATIC", "depends\xlsxio\xlsxio_write_STATIC.vcxproj", "{796760C3-71E4-32AD-A9C4-B984AFC97106}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} = {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xlsxreader", "plugins\xlsxreader.vcxproj", "{8054C91C-5221-314F-96C5-8FEC57BBEED1}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} = {BA32E800-D5FA-3F4E-B91B-763CD4FE389C} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D} = {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D} - {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} = {744BEFA7-C931-39C8-A1B4-1A9A88901B1D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zip", "depends\libzip\lib\zip.vcxproj", "{744BEFA7-C931-39C8-A1B4-1A9A88901B1D}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zone", "plugins\zone.vcxproj", "{3B9F42C2-0060-329E-B123-7DEF1E91617D}" - ProjectSection(ProjectDependencies) = postProject - {31277AF8-10A2-3494-B123-559421E08C26} = {31277AF8-10A2-3494-B123-559421E08C26} - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} = {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62} - {5DC5A20B-821C-3008-A247-B08677276F56} = {5DC5A20B-821C-3008-A247-B08677276F56} - {0AE42C92-16FF-3E69-B468-111535996095} = {0AE42C92-16FF-3E69-B468-111535996095} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Release|x64 = Release|x64 - RelWithDebInfo|x64 = RelWithDebInfo|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {40EA859D-1269-313F-A313-AA32B87C8935}.Release|x64.ActiveCfg = Release|x64 - {40EA859D-1269-313F-A313-AA32B87C8935}.Release|x64.Build.0 = Release|x64 - {40EA859D-1269-313F-A313-AA32B87C8935}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {40EA859D-1269-313F-A313-AA32B87C8935}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA}.Release|x64.ActiveCfg = Release|x64 - {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA}.Release|x64.Build.0 = Release|x64 - {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {D7C70C41-500D-35F8-A992-1351DDDCDA0C}.Release|x64.ActiveCfg = Release|x64 - {D7C70C41-500D-35F8-A992-1351DDDCDA0C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {474F765F-548E-3AAB-8D5B-66CF364BE4B2}.Release|x64.ActiveCfg = Release|x64 - {474F765F-548E-3AAB-8D5B-66CF364BE4B2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {07ADCCA9-7D16-3F3D-AB6F-1BDA83D4E943}.Release|x64.ActiveCfg = Release|x64 - {07ADCCA9-7D16-3F3D-AB6F-1BDA83D4E943}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {246A2207-0D75-3894-8E4E-785344D8ABF4}.Release|x64.ActiveCfg = Release|x64 - {246A2207-0D75-3894-8E4E-785344D8ABF4}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {93318712-66D7-31F1-B537-E229E2FD9AF0}.Release|x64.ActiveCfg = Release|x64 - {93318712-66D7-31F1-B537-E229E2FD9AF0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {F20BBC06-43D9-375A-A5A9-E717817CF640}.Release|x64.ActiveCfg = Release|x64 - {F20BBC06-43D9-375A-A5A9-E717817CF640}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {45641EBC-7207-3F33-8572-930EA9BD4C6B}.Release|x64.ActiveCfg = Release|x64 - {45641EBC-7207-3F33-8572-930EA9BD4C6B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {14C478D6-D815-378F-81D1-B53BBD6CBE9A}.Release|x64.ActiveCfg = Release|x64 - {14C478D6-D815-378F-81D1-B53BBD6CBE9A}.Release|x64.Build.0 = Release|x64 - {14C478D6-D815-378F-81D1-B53BBD6CBE9A}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {14C478D6-D815-378F-81D1-B53BBD6CBE9A}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {31277AF8-10A2-3494-B123-559421E08C26}.Release|x64.ActiveCfg = Release|x64 - {31277AF8-10A2-3494-B123-559421E08C26}.Release|x64.Build.0 = Release|x64 - {31277AF8-10A2-3494-B123-559421E08C26}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {31277AF8-10A2-3494-B123-559421E08C26}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {3A2B0858-3B92-3598-B679-2A437C1286E0}.Release|x64.ActiveCfg = Release|x64 - {3A2B0858-3B92-3598-B679-2A437C1286E0}.Release|x64.Build.0 = Release|x64 - {3A2B0858-3B92-3598-B679-2A437C1286E0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {3A2B0858-3B92-3598-B679-2A437C1286E0}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {27ECEB5C-C396-32BE-93E6-4D4801692191}.Release|x64.ActiveCfg = Release|x64 - {27ECEB5C-C396-32BE-93E6-4D4801692191}.Release|x64.Build.0 = Release|x64 - {27ECEB5C-C396-32BE-93E6-4D4801692191}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {27ECEB5C-C396-32BE-93E6-4D4801692191}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {5F63101D-75FE-31BE-9D25-6641FBBFF959}.Release|x64.ActiveCfg = Release|x64 - {5F63101D-75FE-31BE-9D25-6641FBBFF959}.Release|x64.Build.0 = Release|x64 - {5F63101D-75FE-31BE-9D25-6641FBBFF959}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {5F63101D-75FE-31BE-9D25-6641FBBFF959}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {7D67495E-4C92-37BE-BEF8-174CA37ADD21}.Release|x64.ActiveCfg = Release|x64 - {7D67495E-4C92-37BE-BEF8-174CA37ADD21}.Release|x64.Build.0 = Release|x64 - {7D67495E-4C92-37BE-BEF8-174CA37ADD21}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {7D67495E-4C92-37BE-BEF8-174CA37ADD21}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {6152D284-A720-3556-A60A-7C13C89205AD}.Release|x64.ActiveCfg = Release|x64 - {6152D284-A720-3556-A60A-7C13C89205AD}.Release|x64.Build.0 = Release|x64 - {6152D284-A720-3556-A60A-7C13C89205AD}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {6152D284-A720-3556-A60A-7C13C89205AD}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {4049FF1D-8A65-3021-B550-0DE0E63F9577}.Release|x64.ActiveCfg = Release|x64 - {4049FF1D-8A65-3021-B550-0DE0E63F9577}.Release|x64.Build.0 = Release|x64 - {4049FF1D-8A65-3021-B550-0DE0E63F9577}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {4049FF1D-8A65-3021-B550-0DE0E63F9577}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {8CE562EE-798E-3C1B-975C-F49C6B5C84ED}.Release|x64.ActiveCfg = Release|x64 - {8CE562EE-798E-3C1B-975C-F49C6B5C84ED}.Release|x64.Build.0 = Release|x64 - {8CE562EE-798E-3C1B-975C-F49C6B5C84ED}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {8CE562EE-798E-3C1B-975C-F49C6B5C84ED}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {961FD68A-49A7-3F16-9F96-16AC8236D3A3}.Release|x64.ActiveCfg = Release|x64 - {961FD68A-49A7-3F16-9F96-16AC8236D3A3}.Release|x64.Build.0 = Release|x64 - {961FD68A-49A7-3F16-9F96-16AC8236D3A3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {961FD68A-49A7-3F16-9F96-16AC8236D3A3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {D3C67352-8290-3C4E-9F23-93DDE051AA37}.Release|x64.ActiveCfg = Release|x64 - {D3C67352-8290-3C4E-9F23-93DDE051AA37}.Release|x64.Build.0 = Release|x64 - {D3C67352-8290-3C4E-9F23-93DDE051AA37}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {D3C67352-8290-3C4E-9F23-93DDE051AA37}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {A0486456-80E4-3492-940E-6652FF2B45B9}.Release|x64.ActiveCfg = Release|x64 - {A0486456-80E4-3492-940E-6652FF2B45B9}.Release|x64.Build.0 = Release|x64 - {A0486456-80E4-3492-940E-6652FF2B45B9}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {A0486456-80E4-3492-940E-6652FF2B45B9}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {386966C3-DC46-3936-AD44-35E2470C6A28}.Release|x64.ActiveCfg = Release|x64 - {386966C3-DC46-3936-AD44-35E2470C6A28}.Release|x64.Build.0 = Release|x64 - {386966C3-DC46-3936-AD44-35E2470C6A28}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {386966C3-DC46-3936-AD44-35E2470C6A28}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {02D9B109-1602-3567-80C0-3BF354675829}.Release|x64.ActiveCfg = Release|x64 - {02D9B109-1602-3567-80C0-3BF354675829}.Release|x64.Build.0 = Release|x64 - {02D9B109-1602-3567-80C0-3BF354675829}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {02D9B109-1602-3567-80C0-3BF354675829}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA}.Release|x64.ActiveCfg = Release|x64 - {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA}.Release|x64.Build.0 = Release|x64 - {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515}.Release|x64.ActiveCfg = Release|x64 - {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515}.Release|x64.Build.0 = Release|x64 - {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {76B00654-E15A-3E4F-8C41-DDC63A14246A}.Release|x64.ActiveCfg = Release|x64 - {76B00654-E15A-3E4F-8C41-DDC63A14246A}.Release|x64.Build.0 = Release|x64 - {76B00654-E15A-3E4F-8C41-DDC63A14246A}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {76B00654-E15A-3E4F-8C41-DDC63A14246A}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {D7DF31C2-3247-31BA-A745-DF4095334504}.Release|x64.ActiveCfg = Release|x64 - {D7DF31C2-3247-31BA-A745-DF4095334504}.Release|x64.Build.0 = Release|x64 - {D7DF31C2-3247-31BA-A745-DF4095334504}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {D7DF31C2-3247-31BA-A745-DF4095334504}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204}.Release|x64.ActiveCfg = Release|x64 - {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204}.Release|x64.Build.0 = Release|x64 - {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5}.Release|x64.ActiveCfg = Release|x64 - {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5}.Release|x64.Build.0 = Release|x64 - {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB}.Release|x64.ActiveCfg = Release|x64 - {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB}.Release|x64.Build.0 = Release|x64 - {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {39BD79E1-6088-33F3-AD4A-74F0E0EE785C}.Release|x64.ActiveCfg = Release|x64 - {39BD79E1-6088-33F3-AD4A-74F0E0EE785C}.Release|x64.Build.0 = Release|x64 - {39BD79E1-6088-33F3-AD4A-74F0E0EE785C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {39BD79E1-6088-33F3-AD4A-74F0E0EE785C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {BAABB124-4999-3462-AF35-16DB3C974D7C}.Release|x64.ActiveCfg = Release|x64 - {BAABB124-4999-3462-AF35-16DB3C974D7C}.Release|x64.Build.0 = Release|x64 - {BAABB124-4999-3462-AF35-16DB3C974D7C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {BAABB124-4999-3462-AF35-16DB3C974D7C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {6F451C91-A082-3981-83D5-65844ED16BDA}.Release|x64.ActiveCfg = Release|x64 - {6F451C91-A082-3981-83D5-65844ED16BDA}.Release|x64.Build.0 = Release|x64 - {6F451C91-A082-3981-83D5-65844ED16BDA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {6F451C91-A082-3981-83D5-65844ED16BDA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80}.Release|x64.ActiveCfg = Release|x64 - {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80}.Release|x64.Build.0 = Release|x64 - {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {AB8FA0F9-1482-31F8-87E2-E3C7BB178053}.Release|x64.ActiveCfg = Release|x64 - {AB8FA0F9-1482-31F8-87E2-E3C7BB178053}.Release|x64.Build.0 = Release|x64 - {AB8FA0F9-1482-31F8-87E2-E3C7BB178053}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {AB8FA0F9-1482-31F8-87E2-E3C7BB178053}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212}.Release|x64.ActiveCfg = Release|x64 - {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212}.Release|x64.Build.0 = Release|x64 - {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20}.Release|x64.ActiveCfg = Release|x64 - {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20}.Release|x64.Build.0 = Release|x64 - {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {5347E62F-7AEB-3B7C-B480-161A35974C9E}.Release|x64.ActiveCfg = Release|x64 - {5347E62F-7AEB-3B7C-B480-161A35974C9E}.Release|x64.Build.0 = Release|x64 - {5347E62F-7AEB-3B7C-B480-161A35974C9E}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {5347E62F-7AEB-3B7C-B480-161A35974C9E}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62}.Release|x64.ActiveCfg = Release|x64 - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62}.Release|x64.Build.0 = Release|x64 - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {6DA5B761-FD24-3B41-9DCA-C7B11FDEBC62}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {136AD85C-398C-329A-84AC-AD4481963950}.Release|x64.ActiveCfg = Release|x64 - {136AD85C-398C-329A-84AC-AD4481963950}.Release|x64.Build.0 = Release|x64 - {136AD85C-398C-329A-84AC-AD4481963950}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {136AD85C-398C-329A-84AC-AD4481963950}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {8DB90A0E-6076-3C07-B890-7E5E886009EC}.Release|x64.ActiveCfg = Release|x64 - {8DB90A0E-6076-3C07-B890-7E5E886009EC}.Release|x64.Build.0 = Release|x64 - {8DB90A0E-6076-3C07-B890-7E5E886009EC}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {8DB90A0E-6076-3C07-B890-7E5E886009EC}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {111D1A41-5C7F-397A-A62C-B19B0AEB044B}.Release|x64.ActiveCfg = Release|x64 - {111D1A41-5C7F-397A-A62C-B19B0AEB044B}.Release|x64.Build.0 = Release|x64 - {111D1A41-5C7F-397A-A62C-B19B0AEB044B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {111D1A41-5C7F-397A-A62C-B19B0AEB044B}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {78DBE964-AC8C-3264-903B-2B102B46D476}.Release|x64.ActiveCfg = Release|x64 - {78DBE964-AC8C-3264-903B-2B102B46D476}.Release|x64.Build.0 = Release|x64 - {78DBE964-AC8C-3264-903B-2B102B46D476}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {78DBE964-AC8C-3264-903B-2B102B46D476}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7}.Release|x64.ActiveCfg = Release|x64 - {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7}.Release|x64.Build.0 = Release|x64 - {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {19F34DB6-1C4F-36FD-A7A8-8E5077651209}.Release|x64.ActiveCfg = Release|x64 - {19F34DB6-1C4F-36FD-A7A8-8E5077651209}.Release|x64.Build.0 = Release|x64 - {19F34DB6-1C4F-36FD-A7A8-8E5077651209}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {19F34DB6-1C4F-36FD-A7A8-8E5077651209}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {5DC5A20B-821C-3008-A247-B08677276F56}.Release|x64.ActiveCfg = Release|x64 - {5DC5A20B-821C-3008-A247-B08677276F56}.Release|x64.Build.0 = Release|x64 - {5DC5A20B-821C-3008-A247-B08677276F56}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {5DC5A20B-821C-3008-A247-B08677276F56}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {D3A6760C-34FD-3EE2-B9CC-24647168DC6A}.Release|x64.ActiveCfg = Release|x64 - {D3A6760C-34FD-3EE2-B9CC-24647168DC6A}.Release|x64.Build.0 = Release|x64 - {D3A6760C-34FD-3EE2-B9CC-24647168DC6A}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {D3A6760C-34FD-3EE2-B9CC-24647168DC6A}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {AFC95A6A-BDBB-35E2-9381-253284E1112D}.Release|x64.ActiveCfg = Release|x64 - {AFC95A6A-BDBB-35E2-9381-253284E1112D}.Release|x64.Build.0 = Release|x64 - {AFC95A6A-BDBB-35E2-9381-253284E1112D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {AFC95A6A-BDBB-35E2-9381-253284E1112D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {24F97336-D35B-3FBA-BEF8-64B2D5845D3F}.Release|x64.ActiveCfg = Release|x64 - {24F97336-D35B-3FBA-BEF8-64B2D5845D3F}.Release|x64.Build.0 = Release|x64 - {24F97336-D35B-3FBA-BEF8-64B2D5845D3F}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {24F97336-D35B-3FBA-BEF8-64B2D5845D3F}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {86289ECD-3E29-3E01-93B2-829B5666A809}.Release|x64.ActiveCfg = Release|x64 - {86289ECD-3E29-3E01-93B2-829B5666A809}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {0AED7AC4-8C48-3205-AF43-3D536A60D815}.Release|x64.ActiveCfg = Release|x64 - {0AED7AC4-8C48-3205-AF43-3D536A60D815}.Release|x64.Build.0 = Release|x64 - {0AED7AC4-8C48-3205-AF43-3D536A60D815}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {0AED7AC4-8C48-3205-AF43-3D536A60D815}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96}.Release|x64.ActiveCfg = Release|x64 - {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96}.Release|x64.Build.0 = Release|x64 - {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {BA32E800-D5FA-3F4E-B91B-763CD4FE389C}.Release|x64.ActiveCfg = Release|x64 - {BA32E800-D5FA-3F4E-B91B-763CD4FE389C}.Release|x64.Build.0 = Release|x64 - {BA32E800-D5FA-3F4E-B91B-763CD4FE389C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {BA32E800-D5FA-3F4E-B91B-763CD4FE389C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7}.Release|x64.ActiveCfg = Release|x64 - {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7}.Release|x64.Build.0 = Release|x64 - {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {47842A81-7497-313E-B466-C60AE89334CB}.Release|x64.ActiveCfg = Release|x64 - {47842A81-7497-313E-B466-C60AE89334CB}.Release|x64.Build.0 = Release|x64 - {47842A81-7497-313E-B466-C60AE89334CB}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {47842A81-7497-313E-B466-C60AE89334CB}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {25303A98-8EE4-3355-8C68-CFA8B4116EF0}.Release|x64.ActiveCfg = Release|x64 - {25303A98-8EE4-3355-8C68-CFA8B4116EF0}.Release|x64.Build.0 = Release|x64 - {25303A98-8EE4-3355-8C68-CFA8B4116EF0}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {25303A98-8EE4-3355-8C68-CFA8B4116EF0}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {A80E6C37-1E31-3DDC-A4FE-B21553E580DB}.Release|x64.ActiveCfg = Release|x64 - {A80E6C37-1E31-3DDC-A4FE-B21553E580DB}.Release|x64.Build.0 = Release|x64 - {A80E6C37-1E31-3DDC-A4FE-B21553E580DB}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {A80E6C37-1E31-3DDC-A4FE-B21553E580DB}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE}.Release|x64.ActiveCfg = Release|x64 - {F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE}.Release|x64.Build.0 = Release|x64 - {F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {F2136CA7-D3F2-3A3E-8D32-FE5A5E55E1EE}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {0AE42C92-16FF-3E69-B468-111535996095}.Release|x64.ActiveCfg = Release|x64 - {0AE42C92-16FF-3E69-B468-111535996095}.Release|x64.Build.0 = Release|x64 - {0AE42C92-16FF-3E69-B468-111535996095}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {0AE42C92-16FF-3E69-B468-111535996095}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {69CB13F6-E5DD-3AC2-AF47-08A452514760}.Release|x64.ActiveCfg = Release|x64 - {69CB13F6-E5DD-3AC2-AF47-08A452514760}.Release|x64.Build.0 = Release|x64 - {69CB13F6-E5DD-3AC2-AF47-08A452514760}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {69CB13F6-E5DD-3AC2-AF47-08A452514760}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {A294D3AD-91C7-32D9-B361-D399900843E5}.Release|x64.ActiveCfg = Release|x64 - {A294D3AD-91C7-32D9-B361-D399900843E5}.Release|x64.Build.0 = Release|x64 - {A294D3AD-91C7-32D9-B361-D399900843E5}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {A294D3AD-91C7-32D9-B361-D399900843E5}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {73A57BCF-3487-35DC-B448-FD328037CDF3}.Release|x64.ActiveCfg = Release|x64 - {73A57BCF-3487-35DC-B448-FD328037CDF3}.Release|x64.Build.0 = Release|x64 - {73A57BCF-3487-35DC-B448-FD328037CDF3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {73A57BCF-3487-35DC-B448-FD328037CDF3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA}.Release|x64.ActiveCfg = Release|x64 - {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA}.Release|x64.Build.0 = Release|x64 - {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD}.Release|x64.ActiveCfg = Release|x64 - {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD}.Release|x64.Build.0 = Release|x64 - {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {CD9E5829-45CA-308D-9ED7-C2C38139D69E}.Release|x64.ActiveCfg = Release|x64 - {CD9E5829-45CA-308D-9ED7-C2C38139D69E}.Release|x64.Build.0 = Release|x64 - {CD9E5829-45CA-308D-9ED7-C2C38139D69E}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {CD9E5829-45CA-308D-9ED7-C2C38139D69E}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B}.Release|x64.ActiveCfg = Release|x64 - {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B}.Release|x64.Build.0 = Release|x64 - {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {21572060-CA28-355B-A508-5675A4A2FAB3}.Release|x64.ActiveCfg = Release|x64 - {21572060-CA28-355B-A508-5675A4A2FAB3}.Release|x64.Build.0 = Release|x64 - {21572060-CA28-355B-A508-5675A4A2FAB3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {21572060-CA28-355B-A508-5675A4A2FAB3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {F1206958-458C-3F18-84D9-3EEE07B73862}.Release|x64.ActiveCfg = Release|x64 - {F1206958-458C-3F18-84D9-3EEE07B73862}.Release|x64.Build.0 = Release|x64 - {F1206958-458C-3F18-84D9-3EEE07B73862}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {F1206958-458C-3F18-84D9-3EEE07B73862}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32}.Release|x64.ActiveCfg = Release|x64 - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32}.Release|x64.Build.0 = Release|x64 - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3}.Release|x64.ActiveCfg = Release|x64 - {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3}.Release|x64.Build.0 = Release|x64 - {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {419297F2-C54C-3C4B-91AB-7B119D09E730}.Release|x64.ActiveCfg = Release|x64 - {419297F2-C54C-3C4B-91AB-7B119D09E730}.Release|x64.Build.0 = Release|x64 - {419297F2-C54C-3C4B-91AB-7B119D09E730}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {419297F2-C54C-3C4B-91AB-7B119D09E730}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {8F94C6B8-42CE-329C-B6A9-3E13C04350CF}.Release|x64.ActiveCfg = Release|x64 - {8F94C6B8-42CE-329C-B6A9-3E13C04350CF}.Release|x64.Build.0 = Release|x64 - {8F94C6B8-42CE-329C-B6A9-3E13C04350CF}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {8F94C6B8-42CE-329C-B6A9-3E13C04350CF}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {7FF993D7-A6D3-37CC-AE69-2906ECD89E03}.Release|x64.ActiveCfg = Release|x64 - {7FF993D7-A6D3-37CC-AE69-2906ECD89E03}.Release|x64.Build.0 = Release|x64 - {7FF993D7-A6D3-37CC-AE69-2906ECD89E03}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {7FF993D7-A6D3-37CC-AE69-2906ECD89E03}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {374D8559-CBBF-3F24-BEE1-8B11A184B7F8}.Release|x64.ActiveCfg = Release|x64 - {374D8559-CBBF-3F24-BEE1-8B11A184B7F8}.Release|x64.Build.0 = Release|x64 - {374D8559-CBBF-3F24-BEE1-8B11A184B7F8}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {374D8559-CBBF-3F24-BEE1-8B11A184B7F8}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {4E197970-E280-3B04-AD7D-E52DC551E902}.Release|x64.ActiveCfg = Release|x64 - {4E197970-E280-3B04-AD7D-E52DC551E902}.Release|x64.Build.0 = Release|x64 - {4E197970-E280-3B04-AD7D-E52DC551E902}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {4E197970-E280-3B04-AD7D-E52DC551E902}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {4E6C8BD2-2434-31DC-BDD2-8788D2547403}.Release|x64.ActiveCfg = Release|x64 - {4E6C8BD2-2434-31DC-BDD2-8788D2547403}.Release|x64.Build.0 = Release|x64 - {4E6C8BD2-2434-31DC-BDD2-8788D2547403}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {4E6C8BD2-2434-31DC-BDD2-8788D2547403}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {37629CF4-1B6A-312A-89B7-CF11593F51A4}.Release|x64.ActiveCfg = Release|x64 - {37629CF4-1B6A-312A-89B7-CF11593F51A4}.Release|x64.Build.0 = Release|x64 - {37629CF4-1B6A-312A-89B7-CF11593F51A4}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {37629CF4-1B6A-312A-89B7-CF11593F51A4}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {8D195538-264D-3C39-AB9A-653DA8A6F56E}.Release|x64.ActiveCfg = Release|x64 - {8D195538-264D-3C39-AB9A-653DA8A6F56E}.Release|x64.Build.0 = Release|x64 - {8D195538-264D-3C39-AB9A-653DA8A6F56E}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {8D195538-264D-3C39-AB9A-653DA8A6F56E}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {9302E53B-085D-3577-A3E2-EB51A51D084C}.Release|x64.ActiveCfg = Release|x64 - {9302E53B-085D-3577-A3E2-EB51A51D084C}.Release|x64.Build.0 = Release|x64 - {9302E53B-085D-3577-A3E2-EB51A51D084C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {9302E53B-085D-3577-A3E2-EB51A51D084C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {1C17AAAA-9E99-32C1-9FF6-E88C054A2646}.Release|x64.ActiveCfg = Release|x64 - {1C17AAAA-9E99-32C1-9FF6-E88C054A2646}.Release|x64.Build.0 = Release|x64 - {1C17AAAA-9E99-32C1-9FF6-E88C054A2646}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {1C17AAAA-9E99-32C1-9FF6-E88C054A2646}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7}.Release|x64.ActiveCfg = Release|x64 - {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7}.Release|x64.Build.0 = Release|x64 - {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {E36DC20B-AE7A-3449-B308-C932B9DD4290}.Release|x64.ActiveCfg = Release|x64 - {E36DC20B-AE7A-3449-B308-C932B9DD4290}.Release|x64.Build.0 = Release|x64 - {E36DC20B-AE7A-3449-B308-C932B9DD4290}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {E36DC20B-AE7A-3449-B308-C932B9DD4290}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121}.Release|x64.ActiveCfg = Release|x64 - {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121}.Release|x64.Build.0 = Release|x64 - {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3}.Release|x64.ActiveCfg = Release|x64 - {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3}.Release|x64.Build.0 = Release|x64 - {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2}.Release|x64.ActiveCfg = Release|x64 - {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2}.Release|x64.Build.0 = Release|x64 - {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {C080819A-4275-3D2A-84DE-7C21EDAE2BBA}.Release|x64.ActiveCfg = Release|x64 - {C080819A-4275-3D2A-84DE-7C21EDAE2BBA}.Release|x64.Build.0 = Release|x64 - {C080819A-4275-3D2A-84DE-7C21EDAE2BBA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {C080819A-4275-3D2A-84DE-7C21EDAE2BBA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F}.Release|x64.ActiveCfg = Release|x64 - {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F}.Release|x64.Build.0 = Release|x64 - {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {6579683E-AB4A-3B40-A145-1952047837D2}.Release|x64.ActiveCfg = Release|x64 - {6579683E-AB4A-3B40-A145-1952047837D2}.Release|x64.Build.0 = Release|x64 - {6579683E-AB4A-3B40-A145-1952047837D2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {6579683E-AB4A-3B40-A145-1952047837D2}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {2FE38842-BDF7-3A93-9D06-1C9814B6B11B}.Release|x64.ActiveCfg = Release|x64 - {2FE38842-BDF7-3A93-9D06-1C9814B6B11B}.Release|x64.Build.0 = Release|x64 - {2FE38842-BDF7-3A93-9D06-1C9814B6B11B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {2FE38842-BDF7-3A93-9D06-1C9814B6B11B}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C}.Release|x64.ActiveCfg = Release|x64 - {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C}.Release|x64.Build.0 = Release|x64 - {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4}.Release|x64.ActiveCfg = Release|x64 - {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4}.Release|x64.Build.0 = Release|x64 - {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {C884F97B-4C5C-3457-AF4D-BB4C05670662}.Release|x64.ActiveCfg = Release|x64 - {C884F97B-4C5C-3457-AF4D-BB4C05670662}.Release|x64.Build.0 = Release|x64 - {C884F97B-4C5C-3457-AF4D-BB4C05670662}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {C884F97B-4C5C-3457-AF4D-BB4C05670662}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D}.Release|x64.ActiveCfg = Release|x64 - {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D}.Release|x64.Build.0 = Release|x64 - {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {85B6988E-9C0B-3B6E-B35A-2AD1ABB5588D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {796760C3-71E4-32AD-A9C4-B984AFC97106}.Release|x64.ActiveCfg = Release|x64 - {796760C3-71E4-32AD-A9C4-B984AFC97106}.Release|x64.Build.0 = Release|x64 - {796760C3-71E4-32AD-A9C4-B984AFC97106}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {796760C3-71E4-32AD-A9C4-B984AFC97106}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {8054C91C-5221-314F-96C5-8FEC57BBEED1}.Release|x64.ActiveCfg = Release|x64 - {8054C91C-5221-314F-96C5-8FEC57BBEED1}.Release|x64.Build.0 = Release|x64 - {8054C91C-5221-314F-96C5-8FEC57BBEED1}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {8054C91C-5221-314F-96C5-8FEC57BBEED1}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {744BEFA7-C931-39C8-A1B4-1A9A88901B1D}.Release|x64.ActiveCfg = Release|x64 - {744BEFA7-C931-39C8-A1B4-1A9A88901B1D}.Release|x64.Build.0 = Release|x64 - {744BEFA7-C931-39C8-A1B4-1A9A88901B1D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {744BEFA7-C931-39C8-A1B4-1A9A88901B1D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {3B9F42C2-0060-329E-B123-7DEF1E91617D}.Release|x64.ActiveCfg = Release|x64 - {3B9F42C2-0060-329E-B123-7DEF1E91617D}.Release|x64.Build.0 = Release|x64 - {3B9F42C2-0060-329E-B123-7DEF1E91617D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {3B9F42C2-0060-329E-B123-7DEF1E91617D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {40EA859D-1269-313F-A313-AA32B87C8935} = {28D9607F-8931-375B-9273-9E20D2F6347F} - {07ADCCA9-7D16-3F3D-AB6F-1BDA83D4E943} = {28D9607F-8931-375B-9273-9E20D2F6347F} - {F20BBC06-43D9-375A-A5A9-E717817CF640} = {28D9607F-8931-375B-9273-9E20D2F6347F} - {45641EBC-7207-3F33-8572-930EA9BD4C6B} = {28D9607F-8931-375B-9273-9E20D2F6347F} - {31277AF8-10A2-3494-B123-559421E08C26} = {28D9607F-8931-375B-9273-9E20D2F6347F} - {D7C70C41-500D-35F8-A992-1351DDDCDA0C} = {068CE9B1-E6DD-3864-AC38-93F10EF27A17} - {474F765F-548E-3AAB-8D5B-66CF364BE4B2} = {068CE9B1-E6DD-3864-AC38-93F10EF27A17} - {246A2207-0D75-3894-8E4E-785344D8ABF4} = {068CE9B1-E6DD-3864-AC38-93F10EF27A17} - {93318712-66D7-31F1-B537-E229E2FD9AF0} = {068CE9B1-E6DD-3864-AC38-93F10EF27A17} - {39BD79E1-6088-33F3-AD4A-74F0E0EE785C} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} - {8DB90A0E-6076-3C07-B890-7E5E886009EC} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} - {111D1A41-5C7F-397A-A62C-B19B0AEB044B} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} - {D3A713C3-480C-3DF0-95FA-8B80D95DF8F7} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} - {19F34DB6-1C4F-36FD-A7A8-8E5077651209} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} - {6CA1FA88-B709-340C-8366-DCE4C1D1FB32} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} - {8D195538-264D-3C39-AB9A-653DA8A6F56E} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} - {9302E53B-085D-3577-A3E2-EB51A51D084C} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} - {1C17AAAA-9E99-32C1-9FF6-E88C054A2646} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} - {74CBC9D0-87DE-34DC-AA46-FD7DD2A990E7} = {D8D353CC-1D2C-3A83-8EA0-A85D6CF14722} - {B10F83BD-77CE-3CC2-A4D0-2B412287DFEA} = {25456F37-E968-3921-80E5-1C0E141753B6} - {14C478D6-D815-378F-81D1-B53BBD6CBE9A} = {25456F37-E968-3921-80E5-1C0E141753B6} - {3A2B0858-3B92-3598-B679-2A437C1286E0} = {25456F37-E968-3921-80E5-1C0E141753B6} - {27ECEB5C-C396-32BE-93E6-4D4801692191} = {25456F37-E968-3921-80E5-1C0E141753B6} - {5F63101D-75FE-31BE-9D25-6641FBBFF959} = {25456F37-E968-3921-80E5-1C0E141753B6} - {7D67495E-4C92-37BE-BEF8-174CA37ADD21} = {25456F37-E968-3921-80E5-1C0E141753B6} - {6152D284-A720-3556-A60A-7C13C89205AD} = {25456F37-E968-3921-80E5-1C0E141753B6} - {4049FF1D-8A65-3021-B550-0DE0E63F9577} = {25456F37-E968-3921-80E5-1C0E141753B6} - {8CE562EE-798E-3C1B-975C-F49C6B5C84ED} = {25456F37-E968-3921-80E5-1C0E141753B6} - {961FD68A-49A7-3F16-9F96-16AC8236D3A3} = {25456F37-E968-3921-80E5-1C0E141753B6} - {D3C67352-8290-3C4E-9F23-93DDE051AA37} = {25456F37-E968-3921-80E5-1C0E141753B6} - {386966C3-DC46-3936-AD44-35E2470C6A28} = {25456F37-E968-3921-80E5-1C0E141753B6} - {02D9B109-1602-3567-80C0-3BF354675829} = {25456F37-E968-3921-80E5-1C0E141753B6} - {B6B32914-FA20-3991-AEDE-3FFA75FDF7DA} = {25456F37-E968-3921-80E5-1C0E141753B6} - {C153A10F-47F2-3FF1-A27D-0CE7AA4B1515} = {25456F37-E968-3921-80E5-1C0E141753B6} - {76B00654-E15A-3E4F-8C41-DDC63A14246A} = {25456F37-E968-3921-80E5-1C0E141753B6} - {D7DF31C2-3247-31BA-A745-DF4095334504} = {25456F37-E968-3921-80E5-1C0E141753B6} - {2B9B4415-E1BD-33F7-95FD-7DFA4F7B2204} = {25456F37-E968-3921-80E5-1C0E141753B6} - {099D780E-7F06-3EAA-98A8-2A9C7BBA3FD5} = {25456F37-E968-3921-80E5-1C0E141753B6} - {D65A7A3A-0A4D-361D-B093-CB7BF60BC5DB} = {25456F37-E968-3921-80E5-1C0E141753B6} - {BAABB124-4999-3462-AF35-16DB3C974D7C} = {25456F37-E968-3921-80E5-1C0E141753B6} - {6F451C91-A082-3981-83D5-65844ED16BDA} = {25456F37-E968-3921-80E5-1C0E141753B6} - {C143DDD8-9AB8-368F-ACE4-BA4F7651DA80} = {25456F37-E968-3921-80E5-1C0E141753B6} - {AB8FA0F9-1482-31F8-87E2-E3C7BB178053} = {25456F37-E968-3921-80E5-1C0E141753B6} - {CFC3621A-1CB4-3FC2-B1B7-FD3E6AC9B212} = {25456F37-E968-3921-80E5-1C0E141753B6} - {E3A6CF18-2D4A-3541-97FD-EA36D6A9DC20} = {25456F37-E968-3921-80E5-1C0E141753B6} - {5347E62F-7AEB-3B7C-B480-161A35974C9E} = {25456F37-E968-3921-80E5-1C0E141753B6} - {D3A6760C-34FD-3EE2-B9CC-24647168DC6A} = {25456F37-E968-3921-80E5-1C0E141753B6} - {AFC95A6A-BDBB-35E2-9381-253284E1112D} = {25456F37-E968-3921-80E5-1C0E141753B6} - {0AED7AC4-8C48-3205-AF43-3D536A60D815} = {25456F37-E968-3921-80E5-1C0E141753B6} - {D46EA8E6-D149-35E8-B2C3-A4FD5AE72B96} = {25456F37-E968-3921-80E5-1C0E141753B6} - {894B02CD-77FD-3B32-8A23-AFE5DFEFD7A7} = {25456F37-E968-3921-80E5-1C0E141753B6} - {47842A81-7497-313E-B466-C60AE89334CB} = {25456F37-E968-3921-80E5-1C0E141753B6} - {25303A98-8EE4-3355-8C68-CFA8B4116EF0} = {25456F37-E968-3921-80E5-1C0E141753B6} - {A80E6C37-1E31-3DDC-A4FE-B21553E580DB} = {25456F37-E968-3921-80E5-1C0E141753B6} - {E6EA4F63-3C22-3D4C-A201-F9E90BBB7FCA} = {25456F37-E968-3921-80E5-1C0E141753B6} - {6F10CAC8-6D9F-357E-B574-5EC901BF4EAD} = {25456F37-E968-3921-80E5-1C0E141753B6} - {DA8EE8E6-6AE0-3DA6-AED9-316977621A0B} = {25456F37-E968-3921-80E5-1C0E141753B6} - {21572060-CA28-355B-A508-5675A4A2FAB3} = {25456F37-E968-3921-80E5-1C0E141753B6} - {F1206958-458C-3F18-84D9-3EEE07B73862} = {25456F37-E968-3921-80E5-1C0E141753B6} - {4BEF77D9-B9D4-33A2-950A-48EB5CE10FB3} = {25456F37-E968-3921-80E5-1C0E141753B6} - {419297F2-C54C-3C4B-91AB-7B119D09E730} = {25456F37-E968-3921-80E5-1C0E141753B6} - {8F94C6B8-42CE-329C-B6A9-3E13C04350CF} = {25456F37-E968-3921-80E5-1C0E141753B6} - {7FF993D7-A6D3-37CC-AE69-2906ECD89E03} = {25456F37-E968-3921-80E5-1C0E141753B6} - {374D8559-CBBF-3F24-BEE1-8B11A184B7F8} = {25456F37-E968-3921-80E5-1C0E141753B6} - {4E197970-E280-3B04-AD7D-E52DC551E902} = {25456F37-E968-3921-80E5-1C0E141753B6} - {4E6C8BD2-2434-31DC-BDD2-8788D2547403} = {25456F37-E968-3921-80E5-1C0E141753B6} - {37629CF4-1B6A-312A-89B7-CF11593F51A4} = {25456F37-E968-3921-80E5-1C0E141753B6} - {E36DC20B-AE7A-3449-B308-C932B9DD4290} = {25456F37-E968-3921-80E5-1C0E141753B6} - {C831208B-D7C3-3DD6-9F16-0EA8A5FF3121} = {25456F37-E968-3921-80E5-1C0E141753B6} - {7B31A6BF-105F-3E5D-8FEF-1B9B86D51ED3} = {25456F37-E968-3921-80E5-1C0E141753B6} - {E1C04F8B-70DF-31A7-B06F-BD5CEDBA17C2} = {25456F37-E968-3921-80E5-1C0E141753B6} - {C080819A-4275-3D2A-84DE-7C21EDAE2BBA} = {25456F37-E968-3921-80E5-1C0E141753B6} - {7EE9C0CE-18BB-36A8-BE3E-EEE7F673B97F} = {25456F37-E968-3921-80E5-1C0E141753B6} - {6579683E-AB4A-3B40-A145-1952047837D2} = {25456F37-E968-3921-80E5-1C0E141753B6} - {2FE38842-BDF7-3A93-9D06-1C9814B6B11B} = {25456F37-E968-3921-80E5-1C0E141753B6} - {B8FB6F36-01B4-37A3-84F1-0E364DCA8F1C} = {25456F37-E968-3921-80E5-1C0E141753B6} - {2E73B9B9-ADD5-3FD1-8BCB-FD6A829934B4} = {25456F37-E968-3921-80E5-1C0E141753B6} - {C884F97B-4C5C-3457-AF4D-BB4C05670662} = {25456F37-E968-3921-80E5-1C0E141753B6} - {8054C91C-5221-314F-96C5-8FEC57BBEED1} = {25456F37-E968-3921-80E5-1C0E141753B6} - {3B9F42C2-0060-329E-B123-7DEF1E91617D} = {25456F37-E968-3921-80E5-1C0E141753B6} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {97344453-ACD8-397F-8291-084632F194C3} - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal From 9f4f14d0257c889396e6612031c87e3d1191fe8d Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Sun, 24 Sep 2023 13:18:58 +0300 Subject: [PATCH 20/70] put back unformatted hotkeys --- plugins/lua/hotkeys.lua | 168 +++++++++++++++++++--------------------- 1 file changed, 81 insertions(+), 87 deletions(-) diff --git a/plugins/lua/hotkeys.lua b/plugins/lua/hotkeys.lua index 30407a8fa..7173bed80 100644 --- a/plugins/lua/hotkeys.lua +++ b/plugins/lua/hotkeys.lua @@ -17,8 +17,8 @@ end function should_hide_armok(cmdline) local command = get_command(cmdline) return dfhack.getHideArmokTools() and - helpdb.is_entry(command) and - helpdb.get_entry_tags(command).armok + helpdb.is_entry(command) and + helpdb.get_entry_tags(command).armok end -- ----------------- -- @@ -26,11 +26,11 @@ end -- ----------------- -- HotspotMenuWidget = defclass(HotspotMenuWidget, overlay.OverlayWidget) -HotspotMenuWidget.ATTRS { - default_pos = { x = 5, y = 1 }, - default_enabled = true, - version = 2, - viewscreens = { +HotspotMenuWidget.ATTRS{ + default_pos={x=5,y=1}, + default_enabled=true, + version=2, + viewscreens={ 'adopt_region', 'choose_game_type', -- 'choose_start_site', -- conflicts with vanilla panel layouts @@ -48,51 +48,51 @@ HotspotMenuWidget.ATTRS { 'update_region', 'world' }, - frame = { w = 4, h = 3 } + frame={w=4, h=3} } function HotspotMenuWidget:init() local to_pen = dfhack.pen.parse local function tp(idx, ch) - return to_pen { - tile = function() return dfhack.textures.getTexposByHandle(logo_textures[idx]) end, - ch = ch, - fg = COLOR_GREY, + return to_pen{ + tile=function() return dfhack.textures.getTexposByHandle(logo_textures[idx]) end, + ch=ch, + fg=COLOR_GREY, } end local function tph(idx, ch) - return to_pen { - tile = function() return dfhack.textures.getTexposByHandle(logo_hovered_textures[idx]) end, - ch = ch, - fg = COLOR_WHITE, + return to_pen{ + tile=function() return dfhack.textures.getTexposByHandle(logo_hovered_textures[idx]) end, + ch=ch, + fg=COLOR_WHITE, } end local function get_tile_token(idx, ch) return { - tile = tp(idx, ch), - htile = tph(idx, ch), - width = 1, + tile=tp(idx, ch), + htile=tph(idx, ch), + width=1, } end - self:addviews { - widgets.Label { - text = { + self:addviews{ + widgets.Label{ + text={ get_tile_token(1, '!'), get_tile_token(2, 'D'), get_tile_token(3, 'F'), get_tile_token(4, '!'), NEWLINE, get_tile_token(5, '!'), get_tile_token(6, 'H'), get_tile_token(7, 'a'), get_tile_token(8, '!'), NEWLINE, get_tile_token(9, '!'), get_tile_token(10, 'c'), get_tile_token(11, 'k'), get_tile_token(12, '!'), }, - on_click = function() dfhack.run_command('hotkeys') end, + on_click=function() dfhack.run_command('hotkeys') end, }, } end function HotspotMenuWidget:overlay_trigger() - return MenuScreen { hotspot = self }:show() + return MenuScreen{hotspot=self}:show() end -- register the menu hotspot with the overlay -OVERLAY_WIDGETS = { menu = HotspotMenuWidget } +OVERLAY_WIDGETS = {menu=HotspotMenuWidget} -- ---- -- -- Menu -- @@ -103,15 +103,15 @@ local MAX_LIST_WIDTH = 45 local MAX_LIST_HEIGHT = 15 Menu = defclass(Menu, widgets.Panel) -Menu.ATTRS { - hotspot = DEFAULT_NIL, +Menu.ATTRS{ + hotspot=DEFAULT_NIL, } -- get a map from the binding string to a list of hotkey strings that all -- point to that binding local function get_bindings_to_hotkeys(hotkeys, bindings) local bindings_to_hotkeys = {} - for _, hotkey in ipairs(hotkeys) do + for _,hotkey in ipairs(hotkeys) do local binding = bindings[hotkey] table.insert(ensure_key(bindings_to_hotkeys, binding), hotkey) end @@ -126,17 +126,17 @@ local function get_choices(hotkeys, bindings, is_inverted) local bindings_to_hotkeys = get_bindings_to_hotkeys(hotkeys, bindings) -- build list choices - for _, hotkey in ipairs(hotkeys) do + for _,hotkey in ipairs(hotkeys) do local command = bindings[hotkey] if seen[command] then goto continue end seen[command] = true local hk_width, tokens = 0, {} - for _, hk in ipairs(bindings_to_hotkeys[command]) do + for _,hk in ipairs(bindings_to_hotkeys[command]) do if hk_width ~= 0 then table.insert(tokens, ', ') hk_width = hk_width + 2 end - table.insert(tokens, { text = hk, pen = COLOR_LIGHTGREEN }) + table.insert(tokens, {text=hk, pen=COLOR_LIGHTGREEN}) hk_width = hk_width + #hk end local command_str = command @@ -144,20 +144,16 @@ local function get_choices(hotkeys, bindings, is_inverted) local max_command_len = MAX_LIST_WIDTH - hk_width - LIST_BUFFER command_str = command:sub(1, max_command_len - 3) .. '...' end - table.insert(tokens, 1, { text = command_str }) - local choice = { - icon = ARROW, - command = command, - text = tokens, - hk_width = hk_width - } + table.insert(tokens, 1, {text=command_str}) + local choice = {icon=ARROW, command=command, text=tokens, + hk_width=hk_width} max_width = math.max(max_width, hk_width + #command_str + LIST_BUFFER) table.insert(choices, is_inverted and 1 or #choices + 1, choice) ::continue:: end -- adjust width of command fields so the hotkey tokens are right justified - for _, choice in ipairs(choices) do + for _,choice in ipairs(choices) do local command_token = choice.text[1] command_token.width = max_width - choice.hk_width - (LIST_BUFFER - 1) end @@ -168,19 +164,17 @@ end function Menu:init() local hotkeys, bindings = getHotkeys() if #hotkeys == 0 then - hotkeys = { '' } - bindings = { [''] = 'gui/launcher' } + hotkeys = {''} + bindings = {['']='gui/launcher'} end local is_inverted = not not self.hotspot.frame.b - local choices, list_width = get_choices(hotkeys, bindings, is_inverted) - - list_width = math.max(35, list_width) + local choices,list_width = get_choices(hotkeys, bindings, is_inverted) list_width = math.max(35, list_width) local list_frame = copyall(self.hotspot.frame) - local list_widget_frame = { h = math.min(#choices, MAX_LIST_HEIGHT) } + local list_widget_frame = {h=math.min(#choices, MAX_LIST_HEIGHT)} local quickstart_frame = {} list_frame.w = list_width + 2 list_frame.h = list_widget_frame.h + 4 @@ -199,51 +193,51 @@ function Menu:init() list_frame.r = math.max(0, list_frame.r + 5) end - local help_frame = { w = list_frame.w, l = list_frame.l, r = list_frame.r } + local help_frame = {w=list_frame.w, l=list_frame.l, r=list_frame.r} if list_frame.t then help_frame.t = list_frame.t + list_frame.h else help_frame.b = list_frame.b + list_frame.h end - self:addviews { - widgets.Panel { - view_id = 'list_panel', - frame = list_frame, - frame_style = gui.PANEL_FRAME, - frame_background = gui.CLEAR_PEN, - subviews = { - widgets.List { - view_id = 'list', - frame = list_widget_frame, - choices = choices, - icon_width = 2, - on_select = self:callback('onSelect'), - on_submit = self:callback('onSubmit'), - on_submit2 = self:callback('onSubmit2'), + self:addviews{ + widgets.Panel{ + view_id='list_panel', + frame=list_frame, + frame_style=gui.PANEL_FRAME, + frame_background=gui.CLEAR_PEN, + subviews={ + widgets.List{ + view_id='list', + frame=list_widget_frame, + choices=choices, + icon_width=2, + on_select=self:callback('onSelect'), + on_submit=self:callback('onSubmit'), + on_submit2=self:callback('onSubmit2'), }, - widgets.Panel { frame = { h = 1 } }, - widgets.HotkeyLabel { - frame = quickstart_frame, - label = 'Quickstart guide', - key = 'STRING_A063', - on_activate = function() - self:onSubmit(nil, { command = 'quickstart-guide' }) + widgets.Panel{frame={h=1}}, + widgets.HotkeyLabel{ + frame=quickstart_frame, + label='Quickstart guide', + key='STRING_A063', + on_activate=function() + self:onSubmit(nil, {command='quickstart-guide'}) end, }, }, }, - widgets.ResizingPanel { - view_id = 'help_panel', - autoarrange_subviews = true, - frame = help_frame, - frame_style = gui.PANEL_FRAME, - frame_background = gui.CLEAR_PEN, - subviews = { - widgets.WrappedLabel { - view_id = 'help', - text_to_wrap = '', - scroll_keys = {}, + widgets.ResizingPanel{ + view_id='help_panel', + autoarrange_subviews=true, + frame=help_frame, + frame_style=gui.PANEL_FRAME, + frame_background=gui.CLEAR_PEN, + subviews={ + widgets.WrappedLabel{ + view_id='help', + text_to_wrap='', + scroll_keys={}, }, }, }, @@ -258,7 +252,7 @@ function Menu:onSelect(_, choice) if not choice or #self.subviews == 0 then return end local command = get_command(choice.command) self.subviews.help.text_to_wrap = helpdb.is_entry(command) and - helpdb.get_entry_short_help(command) or 'Command not found' + helpdb.get_entry_short_help(command) or 'Command not found' self.subviews.help_panel:updateLayout() end @@ -308,7 +302,7 @@ end function Menu:getMouseFramePos() return self.subviews.list_panel:getMouseFramePos() or - self.subviews.help_panel:getMouseFramePos() + self.subviews.help_panel:getMouseFramePos() end function Menu:onRenderBody(dc) @@ -330,14 +324,14 @@ end MenuScreen = defclass(MenuScreen, gui.ZScreen) MenuScreen.ATTRS { - focus_path = 'hotkeys/menu', - initial_pause = false, - hotspot = DEFAULT_NIL, + focus_path='hotkeys/menu', + initial_pause=false, + hotspot=DEFAULT_NIL, } function MenuScreen:init() - self:addviews { - Menu { hotspot = self.hotspot }, + self:addviews{ + Menu{hotspot=self.hotspot}, } end @@ -345,4 +339,4 @@ function MenuScreen:onDismiss() cleanupHotkeys() end -return _ENV +return _ENV \ No newline at end of file From bb5e178756dd73f6075ff69cb743ca1990a92b21 Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Sun, 24 Sep 2023 13:19:48 +0300 Subject: [PATCH 21/70] fix eof --- plugins/lua/hotkeys.lua | 166 ++++++++++++++++++++-------------------- 1 file changed, 85 insertions(+), 81 deletions(-) diff --git a/plugins/lua/hotkeys.lua b/plugins/lua/hotkeys.lua index 7173bed80..4169d439a 100644 --- a/plugins/lua/hotkeys.lua +++ b/plugins/lua/hotkeys.lua @@ -17,8 +17,8 @@ end function should_hide_armok(cmdline) local command = get_command(cmdline) return dfhack.getHideArmokTools() and - helpdb.is_entry(command) and - helpdb.get_entry_tags(command).armok + helpdb.is_entry(command) and + helpdb.get_entry_tags(command).armok end -- ----------------- -- @@ -26,11 +26,11 @@ end -- ----------------- -- HotspotMenuWidget = defclass(HotspotMenuWidget, overlay.OverlayWidget) -HotspotMenuWidget.ATTRS{ - default_pos={x=5,y=1}, - default_enabled=true, - version=2, - viewscreens={ +HotspotMenuWidget.ATTRS { + default_pos = { x = 5, y = 1 }, + default_enabled = true, + version = 2, + viewscreens = { 'adopt_region', 'choose_game_type', -- 'choose_start_site', -- conflicts with vanilla panel layouts @@ -48,51 +48,51 @@ HotspotMenuWidget.ATTRS{ 'update_region', 'world' }, - frame={w=4, h=3} + frame = { w = 4, h = 3 } } function HotspotMenuWidget:init() local to_pen = dfhack.pen.parse local function tp(idx, ch) - return to_pen{ - tile=function() return dfhack.textures.getTexposByHandle(logo_textures[idx]) end, - ch=ch, - fg=COLOR_GREY, + return to_pen { + tile = function() return dfhack.textures.getTexposByHandle(logo_textures[idx]) end, + ch = ch, + fg = COLOR_GREY, } end local function tph(idx, ch) - return to_pen{ - tile=function() return dfhack.textures.getTexposByHandle(logo_hovered_textures[idx]) end, - ch=ch, - fg=COLOR_WHITE, + return to_pen { + tile = function() return dfhack.textures.getTexposByHandle(logo_hovered_textures[idx]) end, + ch = ch, + fg = COLOR_WHITE, } end local function get_tile_token(idx, ch) return { - tile=tp(idx, ch), - htile=tph(idx, ch), - width=1, + tile = tp(idx, ch), + htile = tph(idx, ch), + width = 1, } end - self:addviews{ - widgets.Label{ - text={ + self:addviews { + widgets.Label { + text = { get_tile_token(1, '!'), get_tile_token(2, 'D'), get_tile_token(3, 'F'), get_tile_token(4, '!'), NEWLINE, get_tile_token(5, '!'), get_tile_token(6, 'H'), get_tile_token(7, 'a'), get_tile_token(8, '!'), NEWLINE, get_tile_token(9, '!'), get_tile_token(10, 'c'), get_tile_token(11, 'k'), get_tile_token(12, '!'), }, - on_click=function() dfhack.run_command('hotkeys') end, + on_click = function() dfhack.run_command('hotkeys') end, }, } end function HotspotMenuWidget:overlay_trigger() - return MenuScreen{hotspot=self}:show() + return MenuScreen { hotspot = self }:show() end -- register the menu hotspot with the overlay -OVERLAY_WIDGETS = {menu=HotspotMenuWidget} +OVERLAY_WIDGETS = { menu = HotspotMenuWidget } -- ---- -- -- Menu -- @@ -103,15 +103,15 @@ local MAX_LIST_WIDTH = 45 local MAX_LIST_HEIGHT = 15 Menu = defclass(Menu, widgets.Panel) -Menu.ATTRS{ - hotspot=DEFAULT_NIL, +Menu.ATTRS { + hotspot = DEFAULT_NIL, } -- get a map from the binding string to a list of hotkey strings that all -- point to that binding local function get_bindings_to_hotkeys(hotkeys, bindings) local bindings_to_hotkeys = {} - for _,hotkey in ipairs(hotkeys) do + for _, hotkey in ipairs(hotkeys) do local binding = bindings[hotkey] table.insert(ensure_key(bindings_to_hotkeys, binding), hotkey) end @@ -126,17 +126,17 @@ local function get_choices(hotkeys, bindings, is_inverted) local bindings_to_hotkeys = get_bindings_to_hotkeys(hotkeys, bindings) -- build list choices - for _,hotkey in ipairs(hotkeys) do + for _, hotkey in ipairs(hotkeys) do local command = bindings[hotkey] if seen[command] then goto continue end seen[command] = true local hk_width, tokens = 0, {} - for _,hk in ipairs(bindings_to_hotkeys[command]) do + for _, hk in ipairs(bindings_to_hotkeys[command]) do if hk_width ~= 0 then table.insert(tokens, ', ') hk_width = hk_width + 2 end - table.insert(tokens, {text=hk, pen=COLOR_LIGHTGREEN}) + table.insert(tokens, { text = hk, pen = COLOR_LIGHTGREEN }) hk_width = hk_width + #hk end local command_str = command @@ -144,16 +144,20 @@ local function get_choices(hotkeys, bindings, is_inverted) local max_command_len = MAX_LIST_WIDTH - hk_width - LIST_BUFFER command_str = command:sub(1, max_command_len - 3) .. '...' end - table.insert(tokens, 1, {text=command_str}) - local choice = {icon=ARROW, command=command, text=tokens, - hk_width=hk_width} + table.insert(tokens, 1, { text = command_str }) + local choice = { + icon = ARROW, + command = command, + text = tokens, + hk_width = hk_width + } max_width = math.max(max_width, hk_width + #command_str + LIST_BUFFER) table.insert(choices, is_inverted and 1 or #choices + 1, choice) ::continue:: end -- adjust width of command fields so the hotkey tokens are right justified - for _,choice in ipairs(choices) do + for _, choice in ipairs(choices) do local command_token = choice.text[1] command_token.width = max_width - choice.hk_width - (LIST_BUFFER - 1) end @@ -164,17 +168,17 @@ end function Menu:init() local hotkeys, bindings = getHotkeys() if #hotkeys == 0 then - hotkeys = {''} - bindings = {['']='gui/launcher'} + hotkeys = { '' } + bindings = { [''] = 'gui/launcher' } end local is_inverted = not not self.hotspot.frame.b - local choices,list_width = get_choices(hotkeys, bindings, is_inverted) + local choices, list_width = get_choices(hotkeys, bindings, is_inverted) list_width = math.max(35, list_width) local list_frame = copyall(self.hotspot.frame) - local list_widget_frame = {h=math.min(#choices, MAX_LIST_HEIGHT)} + local list_widget_frame = { h = math.min(#choices, MAX_LIST_HEIGHT) } local quickstart_frame = {} list_frame.w = list_width + 2 list_frame.h = list_widget_frame.h + 4 @@ -193,51 +197,51 @@ function Menu:init() list_frame.r = math.max(0, list_frame.r + 5) end - local help_frame = {w=list_frame.w, l=list_frame.l, r=list_frame.r} + local help_frame = { w = list_frame.w, l = list_frame.l, r = list_frame.r } if list_frame.t then help_frame.t = list_frame.t + list_frame.h else help_frame.b = list_frame.b + list_frame.h end - self:addviews{ - widgets.Panel{ - view_id='list_panel', - frame=list_frame, - frame_style=gui.PANEL_FRAME, - frame_background=gui.CLEAR_PEN, - subviews={ - widgets.List{ - view_id='list', - frame=list_widget_frame, - choices=choices, - icon_width=2, - on_select=self:callback('onSelect'), - on_submit=self:callback('onSubmit'), - on_submit2=self:callback('onSubmit2'), + self:addviews { + widgets.Panel { + view_id = 'list_panel', + frame = list_frame, + frame_style = gui.PANEL_FRAME, + frame_background = gui.CLEAR_PEN, + subviews = { + widgets.List { + view_id = 'list', + frame = list_widget_frame, + choices = choices, + icon_width = 2, + on_select = self:callback('onSelect'), + on_submit = self:callback('onSubmit'), + on_submit2 = self:callback('onSubmit2'), }, - widgets.Panel{frame={h=1}}, - widgets.HotkeyLabel{ - frame=quickstart_frame, - label='Quickstart guide', - key='STRING_A063', - on_activate=function() - self:onSubmit(nil, {command='quickstart-guide'}) + widgets.Panel { frame = { h = 1 } }, + widgets.HotkeyLabel { + frame = quickstart_frame, + label = 'Quickstart guide', + key = 'STRING_A063', + on_activate = function() + self:onSubmit(nil, { command = 'quickstart-guide' }) end, }, }, }, - widgets.ResizingPanel{ - view_id='help_panel', - autoarrange_subviews=true, - frame=help_frame, - frame_style=gui.PANEL_FRAME, - frame_background=gui.CLEAR_PEN, - subviews={ - widgets.WrappedLabel{ - view_id='help', - text_to_wrap='', - scroll_keys={}, + widgets.ResizingPanel { + view_id = 'help_panel', + autoarrange_subviews = true, + frame = help_frame, + frame_style = gui.PANEL_FRAME, + frame_background = gui.CLEAR_PEN, + subviews = { + widgets.WrappedLabel { + view_id = 'help', + text_to_wrap = '', + scroll_keys = {}, }, }, }, @@ -252,7 +256,7 @@ function Menu:onSelect(_, choice) if not choice or #self.subviews == 0 then return end local command = get_command(choice.command) self.subviews.help.text_to_wrap = helpdb.is_entry(command) and - helpdb.get_entry_short_help(command) or 'Command not found' + helpdb.get_entry_short_help(command) or 'Command not found' self.subviews.help_panel:updateLayout() end @@ -302,7 +306,7 @@ end function Menu:getMouseFramePos() return self.subviews.list_panel:getMouseFramePos() or - self.subviews.help_panel:getMouseFramePos() + self.subviews.help_panel:getMouseFramePos() end function Menu:onRenderBody(dc) @@ -324,14 +328,14 @@ end MenuScreen = defclass(MenuScreen, gui.ZScreen) MenuScreen.ATTRS { - focus_path='hotkeys/menu', - initial_pause=false, - hotspot=DEFAULT_NIL, + focus_path = 'hotkeys/menu', + initial_pause = false, + hotspot = DEFAULT_NIL, } function MenuScreen:init() - self:addviews{ - Menu{hotspot=self.hotspot}, + self:addviews { + Menu { hotspot = self.hotspot }, } end @@ -339,4 +343,4 @@ function MenuScreen:onDismiss() cleanupHotkeys() end -return _ENV \ No newline at end of file +return _ENV From be26449ef77fe8538c793762d34510df0207798f Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Sun, 24 Sep 2023 13:22:20 +0300 Subject: [PATCH 22/70] ugh --- plugins/lua/hotkeys.lua | 164 ++++++++++++++++++++-------------------- 1 file changed, 80 insertions(+), 84 deletions(-) diff --git a/plugins/lua/hotkeys.lua b/plugins/lua/hotkeys.lua index 4169d439a..8eff17aae 100644 --- a/plugins/lua/hotkeys.lua +++ b/plugins/lua/hotkeys.lua @@ -17,8 +17,8 @@ end function should_hide_armok(cmdline) local command = get_command(cmdline) return dfhack.getHideArmokTools() and - helpdb.is_entry(command) and - helpdb.get_entry_tags(command).armok + helpdb.is_entry(command) and + helpdb.get_entry_tags(command).armok end -- ----------------- -- @@ -26,11 +26,11 @@ end -- ----------------- -- HotspotMenuWidget = defclass(HotspotMenuWidget, overlay.OverlayWidget) -HotspotMenuWidget.ATTRS { - default_pos = { x = 5, y = 1 }, - default_enabled = true, - version = 2, - viewscreens = { +HotspotMenuWidget.ATTRS{ + default_pos={x=5,y=1}, + default_enabled=true, + version=2, + viewscreens={ 'adopt_region', 'choose_game_type', -- 'choose_start_site', -- conflicts with vanilla panel layouts @@ -48,51 +48,51 @@ HotspotMenuWidget.ATTRS { 'update_region', 'world' }, - frame = { w = 4, h = 3 } + frame={w=4, h=3} } function HotspotMenuWidget:init() local to_pen = dfhack.pen.parse local function tp(idx, ch) - return to_pen { - tile = function() return dfhack.textures.getTexposByHandle(logo_textures[idx]) end, - ch = ch, - fg = COLOR_GREY, + return to_pen{ + tile=function() return dfhack.textures.getTexposByHandle(logo_textures[idx]) end, + ch=ch, + fg=COLOR_GREY, } end local function tph(idx, ch) - return to_pen { - tile = function() return dfhack.textures.getTexposByHandle(logo_hovered_textures[idx]) end, - ch = ch, - fg = COLOR_WHITE, + return to_pen{ + tile=function() return dfhack.textures.getTexposByHandle(logo_hovered_textures[idx]) end, + ch=ch, + fg=COLOR_WHITE, } end local function get_tile_token(idx, ch) return { - tile = tp(idx, ch), - htile = tph(idx, ch), - width = 1, + tile=tp(idx, ch), + htile=tph(idx, ch), + width=1, } end - self:addviews { - widgets.Label { - text = { + self:addviews{ + widgets.Label{ + text={ get_tile_token(1, '!'), get_tile_token(2, 'D'), get_tile_token(3, 'F'), get_tile_token(4, '!'), NEWLINE, get_tile_token(5, '!'), get_tile_token(6, 'H'), get_tile_token(7, 'a'), get_tile_token(8, '!'), NEWLINE, get_tile_token(9, '!'), get_tile_token(10, 'c'), get_tile_token(11, 'k'), get_tile_token(12, '!'), }, - on_click = function() dfhack.run_command('hotkeys') end, + on_click=function() dfhack.run_command('hotkeys') end, }, } end function HotspotMenuWidget:overlay_trigger() - return MenuScreen { hotspot = self }:show() + return MenuScreen{hotspot=self}:show() end -- register the menu hotspot with the overlay -OVERLAY_WIDGETS = { menu = HotspotMenuWidget } +OVERLAY_WIDGETS = {menu=HotspotMenuWidget} -- ---- -- -- Menu -- @@ -103,15 +103,15 @@ local MAX_LIST_WIDTH = 45 local MAX_LIST_HEIGHT = 15 Menu = defclass(Menu, widgets.Panel) -Menu.ATTRS { - hotspot = DEFAULT_NIL, +Menu.ATTRS{ + hotspot=DEFAULT_NIL, } -- get a map from the binding string to a list of hotkey strings that all -- point to that binding local function get_bindings_to_hotkeys(hotkeys, bindings) local bindings_to_hotkeys = {} - for _, hotkey in ipairs(hotkeys) do + for _,hotkey in ipairs(hotkeys) do local binding = bindings[hotkey] table.insert(ensure_key(bindings_to_hotkeys, binding), hotkey) end @@ -126,17 +126,17 @@ local function get_choices(hotkeys, bindings, is_inverted) local bindings_to_hotkeys = get_bindings_to_hotkeys(hotkeys, bindings) -- build list choices - for _, hotkey in ipairs(hotkeys) do + for _,hotkey in ipairs(hotkeys) do local command = bindings[hotkey] if seen[command] then goto continue end seen[command] = true local hk_width, tokens = 0, {} - for _, hk in ipairs(bindings_to_hotkeys[command]) do + for _,hk in ipairs(bindings_to_hotkeys[command]) do if hk_width ~= 0 then table.insert(tokens, ', ') hk_width = hk_width + 2 end - table.insert(tokens, { text = hk, pen = COLOR_LIGHTGREEN }) + table.insert(tokens, {text=hk, pen=COLOR_LIGHTGREEN}) hk_width = hk_width + #hk end local command_str = command @@ -144,20 +144,16 @@ local function get_choices(hotkeys, bindings, is_inverted) local max_command_len = MAX_LIST_WIDTH - hk_width - LIST_BUFFER command_str = command:sub(1, max_command_len - 3) .. '...' end - table.insert(tokens, 1, { text = command_str }) - local choice = { - icon = ARROW, - command = command, - text = tokens, - hk_width = hk_width - } + table.insert(tokens, 1, {text=command_str}) + local choice = {icon=ARROW, command=command, text=tokens, + hk_width=hk_width} max_width = math.max(max_width, hk_width + #command_str + LIST_BUFFER) table.insert(choices, is_inverted and 1 or #choices + 1, choice) ::continue:: end -- adjust width of command fields so the hotkey tokens are right justified - for _, choice in ipairs(choices) do + for _,choice in ipairs(choices) do local command_token = choice.text[1] command_token.width = max_width - choice.hk_width - (LIST_BUFFER - 1) end @@ -168,17 +164,17 @@ end function Menu:init() local hotkeys, bindings = getHotkeys() if #hotkeys == 0 then - hotkeys = { '' } - bindings = { [''] = 'gui/launcher' } + hotkeys = {''} + bindings = {['']='gui/launcher'} end local is_inverted = not not self.hotspot.frame.b - local choices, list_width = get_choices(hotkeys, bindings, is_inverted) + local choices,list_width = get_choices(hotkeys, bindings, is_inverted) list_width = math.max(35, list_width) local list_frame = copyall(self.hotspot.frame) - local list_widget_frame = { h = math.min(#choices, MAX_LIST_HEIGHT) } + local list_widget_frame = {h=math.min(#choices, MAX_LIST_HEIGHT)} local quickstart_frame = {} list_frame.w = list_width + 2 list_frame.h = list_widget_frame.h + 4 @@ -197,51 +193,51 @@ function Menu:init() list_frame.r = math.max(0, list_frame.r + 5) end - local help_frame = { w = list_frame.w, l = list_frame.l, r = list_frame.r } + local help_frame = {w=list_frame.w, l=list_frame.l, r=list_frame.r} if list_frame.t then help_frame.t = list_frame.t + list_frame.h else help_frame.b = list_frame.b + list_frame.h end - self:addviews { - widgets.Panel { - view_id = 'list_panel', - frame = list_frame, - frame_style = gui.PANEL_FRAME, - frame_background = gui.CLEAR_PEN, - subviews = { - widgets.List { - view_id = 'list', - frame = list_widget_frame, - choices = choices, - icon_width = 2, - on_select = self:callback('onSelect'), - on_submit = self:callback('onSubmit'), - on_submit2 = self:callback('onSubmit2'), + self:addviews{ + widgets.Panel{ + view_id='list_panel', + frame=list_frame, + frame_style=gui.PANEL_FRAME, + frame_background=gui.CLEAR_PEN, + subviews={ + widgets.List{ + view_id='list', + frame=list_widget_frame, + choices=choices, + icon_width=2, + on_select=self:callback('onSelect'), + on_submit=self:callback('onSubmit'), + on_submit2=self:callback('onSubmit2'), }, - widgets.Panel { frame = { h = 1 } }, - widgets.HotkeyLabel { - frame = quickstart_frame, - label = 'Quickstart guide', - key = 'STRING_A063', - on_activate = function() - self:onSubmit(nil, { command = 'quickstart-guide' }) + widgets.Panel{frame={h=1}}, + widgets.HotkeyLabel{ + frame=quickstart_frame, + label='Quickstart guide', + key='STRING_A063', + on_activate=function() + self:onSubmit(nil, {command='quickstart-guide'}) end, }, }, }, - widgets.ResizingPanel { - view_id = 'help_panel', - autoarrange_subviews = true, - frame = help_frame, - frame_style = gui.PANEL_FRAME, - frame_background = gui.CLEAR_PEN, - subviews = { - widgets.WrappedLabel { - view_id = 'help', - text_to_wrap = '', - scroll_keys = {}, + widgets.ResizingPanel{ + view_id='help_panel', + autoarrange_subviews=true, + frame=help_frame, + frame_style=gui.PANEL_FRAME, + frame_background=gui.CLEAR_PEN, + subviews={ + widgets.WrappedLabel{ + view_id='help', + text_to_wrap='', + scroll_keys={}, }, }, }, @@ -256,7 +252,7 @@ function Menu:onSelect(_, choice) if not choice or #self.subviews == 0 then return end local command = get_command(choice.command) self.subviews.help.text_to_wrap = helpdb.is_entry(command) and - helpdb.get_entry_short_help(command) or 'Command not found' + helpdb.get_entry_short_help(command) or 'Command not found' self.subviews.help_panel:updateLayout() end @@ -306,7 +302,7 @@ end function Menu:getMouseFramePos() return self.subviews.list_panel:getMouseFramePos() or - self.subviews.help_panel:getMouseFramePos() + self.subviews.help_panel:getMouseFramePos() end function Menu:onRenderBody(dc) @@ -328,14 +324,14 @@ end MenuScreen = defclass(MenuScreen, gui.ZScreen) MenuScreen.ATTRS { - focus_path = 'hotkeys/menu', - initial_pause = false, - hotspot = DEFAULT_NIL, + focus_path='hotkeys/menu', + initial_pause=false, + hotspot=DEFAULT_NIL, } function MenuScreen:init() - self:addviews { - Menu { hotspot = self.hotspot }, + self:addviews{ + Menu{hotspot=self.hotspot}, } end From b22ca57f50d6c3446af6e3cea5375305a3ea9065 Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Sun, 24 Sep 2023 12:15:46 +0100 Subject: [PATCH 23/70] added previous 'hidden' and 'no-auto' functionality as options, and adjusted how z-level options are specified --- docs/plugins/dig.rst | 25 +++++++++++++++++-------- plugins/dig.cpp | 21 +++++++++++++++------ 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/docs/plugins/dig.rst b/docs/plugins/dig.rst index d6b6451a6..9cb3cc505 100644 --- a/docs/plugins/dig.rst +++ b/docs/plugins/dig.rst @@ -50,7 +50,7 @@ Usage Designate circles. The diameter is the number of tiles across the center of the circle that you want to dig. See the `digcircle`_ section below for options. -``digtype [] [-p] [-z]`` +``digtype [] [-p] [--zup|-u] [--zdown|-zu] [--cur-zlevel|-z] [--hidden|-h] [--no-auto|-a]`` Designate all vein tiles of the same type as the selected tile. See the `digtype`_ section below for options. ``digexp [] [] [-p]`` @@ -119,9 +119,11 @@ the last selected parameters. digtype ------- -For every tile on the map of the same vein type as the selected tile, this -command designates it to have the same designation as the selected tile. If the -selected tile has no designation, they will be dig designated. +For every tile on the map of the same vein type as the selected tile, this command +designates it to have the same designation as the selected tile. If the selected +tile has no designation, they will be dig designated. By default, only designates +visible tiles, and in the case of dig designation, applies automatic mining to them +(designates uncovered neighbouring tiles of the same type to be dug). If an argument is given, the designation of the selected tile is ignored, and all appropriate tiles are set to the specified designation. @@ -143,10 +145,17 @@ Designation options: ``clear`` Clear any designations. -You can also pass a ``-z`` and/or a ``+z``` option, which restricts designations to the -current z-level and down/up. This is useful when you don't want to designate tiles on the -same z-levels as your carefully dug fort above/below. To dig only at the current z-level, -pass in both. +Other options: +``--zdown`` or ``-d`` + Only designates tiles on the cursor's z-level and below +``--zup`` or ``-u`` + Only designates tiles on the cursor's z-level and above +``--cur-zlevel`` or ``-z`` + Only designates tiles on the same z-level as the cursor +``--hidden`` or ``-h`` + Allows designation of hidden tiles, and using a hidden tile as the "palette" +``--no-auto`` or ``-a`` + No automatic mining mode designation - useful if you want to avoid dwarves digging where you don't want them digexp ------ diff --git a/plugins/dig.cpp b/plugins/dig.cpp index 1379bc3db..836f48e9d 100644 --- a/plugins/dig.cpp +++ b/plugins/dig.cpp @@ -1425,6 +1425,9 @@ command_result digtype (color_ostream &out, vector & parameters) Maps::getSize(xMax,yMax,zMax); uint32_t zMin = 0; + + bool hidden = false; + bool automine = true; int32_t targetDigType = -1; for (string parameter : parameters) { @@ -1442,10 +1445,16 @@ command_result digtype (color_ostream &out, vector & parameters) targetDigType = tile_dig_designation::DownStair; else if ( parameter == "up" ) targetDigType = tile_dig_designation::UpStair; - else if ( parameter == "-z" ) + else if ( parameter == "-z" || parameter == "--cur-zlevel" ) + {zMax = *window_z + 1; zMin = *window_z;} + else if ( parameter == "--zdown" || parameter == "-d") zMax = *window_z + 1; - else if ( parameter == "+z") + else if ( parameter == "--zup" || parameter == "-u") zMin = *window_z; + else if ( parameter == "--hidden" || parameter == "-h") + hidden = true; + else if ( parameter == "--no-auto" || parameter == "-a" ) + automine = false; else { out.printerr("Invalid parameter: '%s'.\n", parameter.c_str()); @@ -1466,8 +1475,8 @@ command_result digtype (color_ostream &out, vector & parameters) std::unique_ptr mCache = std::make_unique(); df::tile_designation baseDes = mCache->designationAt(xy); - if (baseDes.bits.hidden) { - out.printerr("Cursor is pointing at a hidden tile. Point the cursor at a visible tile"); + if (baseDes.bits.hidden && !hidden) { + out.printerr("Cursor is pointing at a hidden tile. Point the cursor at a visible tile when using the --hidden option.\n"); return CR_FAILURE; } @@ -1495,7 +1504,7 @@ command_result digtype (color_ostream &out, vector & parameters) } // Auto dig only works on default dig designation. Setting dig_auto for any other designation // prevents dwarves from digging that tile at all. - if (baseDes.bits.dig == tile_dig_designation::Default) baseOcc.bits.dig_auto = true; + if (baseDes.bits.dig == tile_dig_designation::Default && automine) baseOcc.bits.dig_auto = true; else baseOcc.bits.dig_auto = false; for( uint32_t z = zMin; z < zMax; z++ ) @@ -1523,7 +1532,7 @@ command_result digtype (color_ostream &out, vector & parameters) df::tile_designation designation = mCache->designationAt(current); - if (designation.bits.hidden) continue; + if (designation.bits.hidden && !hidden) continue; df::tile_occupancy occupancy = mCache->occupancyAt(current); designation.bits.dig = baseDes.bits.dig; From ff03fc1f2d085e981b52a89c1f552649584e3c2b Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Sun, 24 Sep 2023 12:17:50 +0100 Subject: [PATCH 24/70] trailing whitespace removed --- plugins/dig.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/dig.cpp b/plugins/dig.cpp index 836f48e9d..7be7b815f 100644 --- a/plugins/dig.cpp +++ b/plugins/dig.cpp @@ -1421,11 +1421,10 @@ command_result digtype (color_ostream &out, vector & parameters) return CR_FAILURE; } + uint32_t zMin = 0; uint32_t xMax,yMax,zMax; Maps::getSize(xMax,yMax,zMax); - uint32_t zMin = 0; - bool hidden = false; bool automine = true; From dff9edb26bc3affa85a0835ff6c117a2e65264e5 Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Sun, 24 Sep 2023 12:20:55 +0100 Subject: [PATCH 25/70] dig doc unexpected indentation fixed --- docs/plugins/dig.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/plugins/dig.rst b/docs/plugins/dig.rst index 9cb3cc505..91951434e 100644 --- a/docs/plugins/dig.rst +++ b/docs/plugins/dig.rst @@ -147,15 +147,15 @@ Designation options: Other options: ``--zdown`` or ``-d`` - Only designates tiles on the cursor's z-level and below + Only designates tiles on the cursor's z-level and below. ``--zup`` or ``-u`` - Only designates tiles on the cursor's z-level and above + Only designates tiles on the cursor's z-level and above. ``--cur-zlevel`` or ``-z`` - Only designates tiles on the same z-level as the cursor + Only designates tiles on the same z-level as the cursor. ``--hidden`` or ``-h`` - Allows designation of hidden tiles, and using a hidden tile as the "palette" + Allows designation of hidden tiles, and using a hidden tile as the "palette". ``--no-auto`` or ``-a`` - No automatic mining mode designation - useful if you want to avoid dwarves digging where you don't want them + No automatic mining mode designation - useful if you want to avoid dwarves digging where you don't want them. digexp ------ From 15ede64d9b0f3d614c5176596452d9c693e7d21d Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Sun, 24 Sep 2023 12:23:25 +0100 Subject: [PATCH 26/70] dig doc unexpected indentation actually fixed --- docs/plugins/dig.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/plugins/dig.rst b/docs/plugins/dig.rst index 91951434e..dd69a5f04 100644 --- a/docs/plugins/dig.rst +++ b/docs/plugins/dig.rst @@ -146,15 +146,15 @@ Designation options: Clear any designations. Other options: -``--zdown`` or ``-d`` +``--zdown``, ``-d`` Only designates tiles on the cursor's z-level and below. -``--zup`` or ``-u`` +``--zup``, ``-u`` Only designates tiles on the cursor's z-level and above. -``--cur-zlevel`` or ``-z`` +``--cur-zlevel``, ``-z`` Only designates tiles on the same z-level as the cursor. -``--hidden`` or ``-h`` +``--hidden``, ``-h`` Allows designation of hidden tiles, and using a hidden tile as the "palette". -``--no-auto`` or ``-a`` +``--no-auto``, ``-a`` No automatic mining mode designation - useful if you want to avoid dwarves digging where you don't want them. digexp From 26dd4e1f787ff80cad1345bc8d1430d18bed1b03 Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Sun, 24 Sep 2023 12:30:32 +0100 Subject: [PATCH 27/70] dig doc unexpected indentation actually fixed fr this time --- docs/plugins/dig.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/plugins/dig.rst b/docs/plugins/dig.rst index dd69a5f04..b098d5ac1 100644 --- a/docs/plugins/dig.rst +++ b/docs/plugins/dig.rst @@ -146,6 +146,7 @@ Designation options: Clear any designations. Other options: + ``--zdown``, ``-d`` Only designates tiles on the cursor's z-level and below. ``--zup``, ``-u`` From 7d9dad4688df1639f3ecfc8e6c23d9d77bf06e4c Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Sun, 24 Sep 2023 20:51:30 +0100 Subject: [PATCH 28/70] dig - doc rewording and added change to changelog --- docs/changelog.txt | 1 + docs/plugins/dig.rst | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index 044cb1ca4..74522451d 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -58,6 +58,7 @@ Template for new versions: ## Fixes ## Misc Improvements +- `dig`: `digtype` command now has options to choose between designating only visible tiles or hidden tiles, as well as "auto" dig mode. Z-level options adjusted to allow choosing z-levels above, below, or the same as the cursor. ## Documentation diff --git a/docs/plugins/dig.rst b/docs/plugins/dig.rst index b098d5ac1..8d5c99536 100644 --- a/docs/plugins/dig.rst +++ b/docs/plugins/dig.rst @@ -154,7 +154,7 @@ Other options: ``--cur-zlevel``, ``-z`` Only designates tiles on the same z-level as the cursor. ``--hidden``, ``-h`` - Allows designation of hidden tiles, and using a hidden tile as the "palette". + Allows designation of hidden tiles, and picking a hidden tile as the target type. ``--no-auto``, ``-a`` No automatic mining mode designation - useful if you want to avoid dwarves digging where you don't want them. From d7d142c61604ffb070269d4fc7bf167c8989eecc Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Sun, 24 Sep 2023 21:13:04 +0100 Subject: [PATCH 29/70] Authors.rst master-spike added --- docs/about/Authors.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/about/Authors.rst b/docs/about/Authors.rst index e81649d8d..27b896f89 100644 --- a/docs/about/Authors.rst +++ b/docs/about/Authors.rst @@ -139,6 +139,7 @@ moversti moversti mrrho mrrho Murad Beybalaev Erquint Myk Taylor myk002 +Najeeb Al-Shabibi master-spike napagokc napagokc Neil Little nmlittle Nick Rart nickrart comestible From 0559af9f1343d5c5be04c03ed26770406f60b6e8 Mon Sep 17 00:00:00 2001 From: Kelly Kinkade Date: Sun, 24 Sep 2023 19:10:46 -0500 Subject: [PATCH 30/70] autolabor: fix #3812 make sure autolabor resets the work detail bypass flag whenever autolabor is unloaded for _any_ reason i tested `disable autolabor`, `unload autolabor`, and unloading a fort with autolabor enabled; in all cases the work detail bypass flag was cleared as desired closes #3812 --- docs/changelog.txt | 1 + plugins/autolabor/autolabor.cpp | 21 ++++++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index 74522451d..638c01459 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -56,6 +56,7 @@ Template for new versions: ## New Features ## Fixes +- `autolabor`: now unconditionally clears ``game.external_flag`` when unloading a fort or the plugin ## Misc Improvements - `dig`: `digtype` command now has options to choose between designating only visible tiles or hidden tiles, as well as "auto" dig mode. Z-level options adjusted to allow choosing z-levels above, below, or the same as the cursor. diff --git a/plugins/autolabor/autolabor.cpp b/plugins/autolabor/autolabor.cpp index 72bb4d84e..8be035214 100644 --- a/plugins/autolabor/autolabor.cpp +++ b/plugins/autolabor/autolabor.cpp @@ -305,6 +305,7 @@ static void cleanup_state() { enable_autolabor = false; labor_infos.clear(); + game->external_flag &= ~1; // reinstate DF's work detail system } static void reset_labor(df::unit_labor labor) @@ -326,6 +327,8 @@ static void init_state() if (!enable_autolabor) return; + game->external_flag |= 1; // bypass DF's work detail system + auto cfg_haulpct = World::GetPersistentData("autolabor/haulpct"); if (cfg_haulpct.isValid()) { @@ -413,8 +416,17 @@ static void enable_plugin(color_ostream &out) cleanup_state(); init_state(); +} + +static void disable_plugin(color_ostream& out) +{ + if (config.isValid()) + setOptionEnabled(CF_ENABLED, false); - game->external_flag |= 1; // shut down DF's work detail system + enable_autolabor = false; + out << "Disabling autolabor." << std::endl; + + cleanup_state(); } DFhackCExport command_result plugin_init ( color_ostream &out, std::vector &commands) @@ -1081,12 +1093,7 @@ DFhackCExport command_result plugin_enable ( color_ostream &out, bool enable ) } else if(!enable && enable_autolabor) { - enable_autolabor = false; - setOptionEnabled(CF_ENABLED, false); - - game->external_flag &= ~1; // reenable DF's work detail system - - out << "Autolabor is disabled." << std::endl; + disable_plugin(out); } return CR_OK; From a721fee8cdf25606ee0b15be1fc184dd1c118533 Mon Sep 17 00:00:00 2001 From: Myk Date: Sun, 24 Sep 2023 17:21:28 -0700 Subject: [PATCH 31/70] Update docs/changelog.txt --- docs/changelog.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index 638c01459..9efb86430 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -56,7 +56,7 @@ Template for new versions: ## New Features ## Fixes -- `autolabor`: now unconditionally clears ``game.external_flag`` when unloading a fort or the plugin +- `autolabor`: now unconditionally re-enables vanilla work details when the fort or the plugin is unloaded ## Misc Improvements - `dig`: `digtype` command now has options to choose between designating only visible tiles or hidden tiles, as well as "auto" dig mode. Z-level options adjusted to allow choosing z-levels above, below, or the same as the cursor. From 7e21d384ab4002d4dcf85c85e807ffb3daf42c09 Mon Sep 17 00:00:00 2001 From: DFHack-Urist via GitHub Actions <63161697+DFHack-Urist@users.noreply.github.com> Date: Mon, 25 Sep 2023 07:13:23 +0000 Subject: [PATCH 32/70] Auto-update submodules library/xml: master scripts: master --- library/xml | 2 +- scripts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/library/xml b/library/xml index 041493b22..e6d83ccae 160000 --- a/library/xml +++ b/library/xml @@ -1 +1 @@ -Subproject commit 041493b221e0799c106abeac1f86df4535ab80d3 +Subproject commit e6d83ccaee5b5a3c663b56046ae55a7389742da8 diff --git a/scripts b/scripts index e0591830b..0ed4052ac 160000 --- a/scripts +++ b/scripts @@ -1 +1 @@ -Subproject commit e0591830b72cdfaec5c9bdb1bf713a74fe744788 +Subproject commit 0ed4052ac9049151657e22831996800d0d3104bb From fd31d9eb03a51d6d8382b3212eeb7c5ed6f42adf Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 24 Sep 2023 15:07:05 -0700 Subject: [PATCH 33/70] enable fortress mode tests in CI --- ci/test.lua | 56 ++++++++++++++++++++++++++++++----------- test/plugins/orders.lua | 2 +- 2 files changed, 43 insertions(+), 15 deletions(-) diff --git a/ci/test.lua b/ci/test.lua index ac0e5718d..807572a70 100644 --- a/ci/test.lua +++ b/ci/test.lua @@ -189,39 +189,67 @@ local function ensure_title_screen() dfhack.gui.getCurFocus(true)[1])) end -local function is_fortress(focus_string) - focus_string = focus_string or dfhack.gui.getCurFocus(true) - return focus_string == 'dwarfmode/Default' +local function is_fortress() + return dfhack.gui.matchFocusString('dwarfmode/Default') +end + +local function click_top_title_button(scr) + local sw, sh = dfhack.screen.getWindowSize() + df.global.gps.mouse_x = sw // 2 + df.global.gps.precise_mouse_x = df.global.gps.mouse_x * df.global.gps.tile_pixel_x + if sh < 60 then + df.global.gps.mouse_y = 23 + else + df.global.gps.mouse_y = (sh // 2) + 1 + end + df.global.gps.precise_mouse_y = df.global.gps.mouse_y * df.global.gps.tile_pixel_y + df.global.enabler.tracking_on = 1 + df.global.enabler.mouse_lbut = 1 + df.global.enabler.mouse_lbut_down = 1 + dfhack.screen._doSimulateInput(scr, {}) +end + +local function load_first_save(scr) + if #scr.savegame_header == 0 then + qerror('no savegames available to load') + end + scr.mode = 2 + click_top_title_button(scr) + delay() + click_top_title_button(scr) + delay() end -- Requires that a fortress game is already loaded or is ready to be loaded via --- the "Continue Playing" option in the title screen. Otherwise the function +-- the "Continue active game" option in the title screen. Otherwise the function -- will time out and/or exit with error. local function ensure_fortress(config) - local focus_string = dfhack.gui.getCurFocus(true) for screen_timeout = 1,10 do - if is_fortress(focus_string) then + if is_fortress() then print('Loaded fortress map') -- pause the game (if it's not already paused) dfhack.gui.resetDwarfmodeView(true) return end - local scr = dfhack.gui.getCurViewscreen(true) - if focus_string == 'title' or - focus_string == 'dfhack/lua/load_screen' then + local scr = dfhack.gui.getDFViewscreen(true) + if dfhack.gui.matchFocusString('title') then + -- TODO: reinstate loading of a specified save dir; for now + -- just load the first possible save, which will at least let us + -- run fortress tests in CI -- qerror()'s on falure - dfhack.run_script('load-save', config.save_dir) - elseif focus_string ~= 'loadgame' then + -- dfhack.run_script('load-save', config.save_dir) + load_first_save(scr) + elseif dfhack.gui.matchFocusString('loadgame') then -- if we're not actively loading a game, hope we're in -- a screen where hitting ESC will get us to the game map -- or the title screen scr:feed_key(df.interface_key.LEAVESCREEN) end -- wait for current screen to change - local prev_focus_string = focus_string + local prev_focus_string = dfhack.gui.getCurFocus(true)[1] for frame_timeout = 1,100 do delay(10) - focus_string = dfhack.gui.getCurFocus(true) + local focus_string = dfhack.gui.getCurFocus(true)[1] if focus_string ~= prev_focus_string then goto next_screen end @@ -236,7 +264,7 @@ local function ensure_fortress(config) ::next_screen:: end qerror(string.format('Could not load fortress (timed out at %s)', - focus_string)) + table.concat(dfhack.gui.getCurFocus(), ' '))) end local MODES = { diff --git a/test/plugins/orders.lua b/test/plugins/orders.lua index c5fae8eb2..d851adb02 100644 --- a/test/plugins/orders.lua +++ b/test/plugins/orders.lua @@ -1,5 +1,5 @@ config.mode = 'fortress' ---config.target = 'orders' +config.target = 'orders' local FILE_PATH_PATTERN = 'dfhack-config/orders/%s.json' From b9a6d39b60027ddbe6efc37542b13a7227ed9f37 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 24 Sep 2023 16:00:19 -0700 Subject: [PATCH 34/70] enable testing on Linux --- .github/workflows/test.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 40b30cd13..e0576dbf7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -67,15 +67,14 @@ jobs: compiler: msvc plugins: "default" config: "empty" - # TODO: uncomment once we have a linux build we can download from bay12 - # - os: ubuntu - # compiler: gcc-10 - # plugins: "default" - # config: "default" - # - os: ubuntu - # compiler: gcc-12 - # plugins: "all" - # config: "default" + - os: ubuntu + compiler: gcc-10 + plugins: "default" + config: "default" + - os: ubuntu + compiler: gcc-12 + plugins: "all" + config: "default" steps: - name: Set env shell: bash From 621d36fd3a28074aeb53a9c36430308ad0a2a1da Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 24 Sep 2023 16:16:21 -0700 Subject: [PATCH 35/70] tighen up screen matching --- ci/test.lua | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/ci/test.lua b/ci/test.lua index 807572a70..5860ef5ea 100644 --- a/ci/test.lua +++ b/ci/test.lua @@ -175,6 +175,9 @@ local function ensure_title_screen() prev_ms = now_ms end end + if df.viewscreen_dwarfmodest:is_instance(dfhack.gui.getDFViewscreen(true)) then + qerror('Cannot reach title screen from loaded fort') + end for i = 1, 100 do local scr = dfhack.gui.getCurViewscreen() if is_title_screen(scr) then @@ -193,6 +196,18 @@ local function is_fortress() return dfhack.gui.matchFocusString('dwarfmode/Default') end +-- error out if we're not running in a CI environment +-- the tests may corrupt saves, and we don't want to unexpectedly ruin a real player save +-- this heuristic is not perfect, but it should be able to detect most cases +local function ensure_ci_save(scr) + if #scr.savegame_header ~= 1 + or #scr.savegame_header_world ~= 1 + or not string.find(scr.savegame_header[0].fort_name, 'Dream') + then + qerror('Unexpected test save in slot 0; please manually load a fort for testing. note that tests may corrupt the game!') + end +end + local function click_top_title_button(scr) local sw, sh = dfhack.screen.getWindowSize() df.global.gps.mouse_x = sw // 2 @@ -232,14 +247,15 @@ local function ensure_fortress(config) return end local scr = dfhack.gui.getDFViewscreen(true) - if dfhack.gui.matchFocusString('title') then + if dfhack.gui.matchFocusString('title/Default') then -- TODO: reinstate loading of a specified save dir; for now -- just load the first possible save, which will at least let us -- run fortress tests in CI -- qerror()'s on falure -- dfhack.run_script('load-save', config.save_dir) + ensure_ci_save(scr) load_first_save(scr) - elseif dfhack.gui.matchFocusString('loadgame') then + elseif not dfhack.gui.matchFocusString('loadgame') then -- if we're not actively loading a game, hope we're in -- a screen where hitting ESC will get us to the game map -- or the title screen From 4ffa78c96c336c900801fe0d1fd88a1dfbd0342a Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 24 Sep 2023 16:23:30 -0700 Subject: [PATCH 36/70] fix DF extraction on Linux --- ci/download-df.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ci/download-df.sh b/ci/download-df.sh index 12e9a41e3..399b75714 100755 --- a/ci/download-df.sh +++ b/ci/download-df.sh @@ -18,7 +18,7 @@ elif test "$OS_TARGET" = "ubuntu"; then WGET=wget df_url="${df_url}_linux.tar.bz2" df_archive_name="df.tar.bz2" - df_extract_cmd="tar -x -j --strip-components=1 -f" + df_extract_cmd="tar -x -j -C ${DF_FOLDER} -f" else echo "Unhandled OS target: ${OS_TARGET}" exit 1 @@ -29,22 +29,25 @@ if ! $WGET -v "$df_url" -O "$df_archive_name"; then exit 1 fi +md5sum "$df_archive_name" + save_url="https://dffd.bay12games.com/download.php?id=15434&f=dreamfort.7z" save_archive_name="test_save.7z" -save_extract_cmd="7z x -oDF/save" +save_extract_cmd="7z x -o${DF_FOLDER}/save" if ! $WGET -v "$save_url" -O "$save_archive_name"; then echo "Failed to download test save from $save_url" exit 1 fi +md5sum "$save_archive_name" + echo Extracting +mkdir -p ${DF_FOLDER} $df_extract_cmd "$df_archive_name" $save_extract_cmd "$save_archive_name" -mv DF/save/* DF/save/region1 +mv ${DF_FOLDER}/save/* ${DF_FOLDER}/save/region1 echo Done ls -l - -md5sum "$df_archive_name" "$save_archive_name" From 92b35e32cb7330e10e8661181854110353a0cc44 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 24 Sep 2023 17:01:06 -0700 Subject: [PATCH 37/70] wait for initial load when transitioning states --- ci/test.lua | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/ci/test.lua b/ci/test.lua index 5860ef5ea..06dee5a75 100644 --- a/ci/test.lua +++ b/ci/test.lua @@ -151,18 +151,14 @@ end test_envvars.require = clean_require test_envvars.reqscript = clean_reqscript -local function is_title_screen(scr) - scr = scr or dfhack.gui.getCurViewscreen() - return df.viewscreen_titlest:is_instance(scr) +local function is_title_screen() + return dfhack.gui.matchFocusString('title/Default') end --- This only handles pre-fortress-load screens. It will time out if the player --- has already loaded a fortress or is in any screen that can't get to the title --- screen by sending ESC keys. -local function ensure_title_screen() +local function wait_for_game_load() local start_ms = dfhack.getTickCount() local prev_ms = start_ms - while df.viewscreen_initial_prepst:is_instance(dfhack.gui.getCurViewscreen()) do + while df.viewscreen_initial_prepst:is_instance(dfhack.gui.getDFViewscreen()) do delay(10) -- wait up to 1 minute for the game to load and show the title screen local now_ms = dfhack.getTickCount() @@ -175,12 +171,19 @@ local function ensure_title_screen() prev_ms = now_ms end end +end + +-- This only handles pre-fortress-load screens. It will time out if the player +-- has already loaded a fortress or is in any screen that can't get to the title +-- screen by sending ESC keys. +local function ensure_title_screen() + wait_for_game_load() if df.viewscreen_dwarfmodest:is_instance(dfhack.gui.getDFViewscreen(true)) then qerror('Cannot reach title screen from loaded fort') end for i = 1, 100 do local scr = dfhack.gui.getCurViewscreen() - if is_title_screen(scr) then + if is_title_screen() then print('Found title screen') return end @@ -239,15 +242,17 @@ end -- the "Continue active game" option in the title screen. Otherwise the function -- will time out and/or exit with error. local function ensure_fortress(config) + wait_for_game_load() for screen_timeout = 1,10 do if is_fortress() then - print('Loaded fortress map') + print('Fortress map is loaded') -- pause the game (if it's not already paused) dfhack.gui.resetDwarfmodeView(true) return end local scr = dfhack.gui.getDFViewscreen(true) if dfhack.gui.matchFocusString('title/Default') then + print('Attempting to load the test fortress') -- TODO: reinstate loading of a specified save dir; for now -- just load the first possible save, which will at least let us -- run fortress tests in CI From 8b3a3d4ebbbec670bffc712c1753d948cb28aad7 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 24 Sep 2023 17:05:08 -0700 Subject: [PATCH 38/70] reduce tries to one so we don't lose stdout other option: save stdout after every run and concatenate at the end --- ci/run-tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/run-tests.py b/ci/run-tests.py index 3d646a2f7..257359324 100755 --- a/ci/run-tests.py +++ b/ci/run-tests.py @@ -31,7 +31,7 @@ if args.test_dir is not None: if not os.path.isdir(args.test_dir): print('ERROR: invalid test folder: %r' % args.test_dir) -MAX_TRIES = 5 +MAX_TRIES = 1 dfhack = 'Dwarf Fortress.exe' if sys.platform == 'win32' else './dfhack' test_status_file = 'test_status.json' From 32bd04f83e3498e1134d290283ece53e76d1c00b Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 24 Sep 2023 17:16:13 -0700 Subject: [PATCH 39/70] install SDL2 on Linux for DF --- .github/workflows/test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e0576dbf7..fb7bcce7d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -79,6 +79,11 @@ jobs: - name: Set env shell: bash run: echo "DF_FOLDER=DF" >> $GITHUB_ENV + - name: Install dependencies + if: matrix.os == 'ubuntu' + run: | + sudo apt-get update + sudo apt-get install libsdl2-dev libsdl2-image-dev - name: Clone DFHack uses: actions/checkout@v3 with: From 0d7f9a401f7670d6e866de3096813ea0529421be Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 24 Sep 2023 17:54:10 -0700 Subject: [PATCH 40/70] output where we're clicking for debugging --- ci/test.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/test.lua b/ci/test.lua index 06dee5a75..57ed13124 100644 --- a/ci/test.lua +++ b/ci/test.lua @@ -220,6 +220,7 @@ local function click_top_title_button(scr) else df.global.gps.mouse_y = (sh // 2) + 1 end + print(('simulating click at screen coordinates %d, %d'):format(df.global.gps.mouse_x, df.global.gps.mouse_y)) df.global.gps.precise_mouse_y = df.global.gps.mouse_y * df.global.gps.tile_pixel_y df.global.enabler.tracking_on = 1 df.global.enabler.mouse_lbut = 1 From b3fdaa54c558e9ff72bd8bf51c973e5b09c07e9d Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 24 Sep 2023 22:00:03 -0700 Subject: [PATCH 41/70] install non-dev libs; start X server --- .github/workflows/test.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fb7bcce7d..d36ff49d4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -83,7 +83,9 @@ jobs: if: matrix.os == 'ubuntu' run: | sudo apt-get update - sudo apt-get install libsdl2-dev libsdl2-image-dev + sudo apt-get install \ + libsdl2-2.0-0 \ + libsdl2-image-2.0-0 - name: Clone DFHack uses: actions/checkout@v3 with: @@ -121,8 +123,13 @@ jobs: - name: Install DFHack shell: bash run: tar xjf test-${{ matrix.compiler }}.tar.bz2 -C ${{ env.DF_FOLDER }} + - name: Start X server + if: matrix.os == 'ubuntu' + run: Xvfb :0 -screen 0 1600x1200x32 & - name: Run lua tests timeout-minutes: 10 + env: + DISPLAY: :0 run: python ci/run-tests.py --keep-status "${{ env.DF_FOLDER }}" - name: Check RPC interface run: python ci/check-rpc.py "${{ env.DF_FOLDER }}/dfhack-rpc.txt" From e8f0de4078efbbdec0150823e8418d6006bfb9b4 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 24 Sep 2023 22:00:15 -0700 Subject: [PATCH 42/70] print screen dims --- ci/test.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/test.lua b/ci/test.lua index 57ed13124..34fcd97a6 100644 --- a/ci/test.lua +++ b/ci/test.lua @@ -213,6 +213,7 @@ end local function click_top_title_button(scr) local sw, sh = dfhack.screen.getWindowSize() + print(('screen dimensions: %d, %d'):format(sw. sh)) df.global.gps.mouse_x = sw // 2 df.global.gps.precise_mouse_x = df.global.gps.mouse_x * df.global.gps.tile_pixel_x if sh < 60 then From 8dc5f8e86b23746aea2912b02039f2de30a7d636 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 24 Sep 2023 23:23:49 -0700 Subject: [PATCH 43/70] fix screen depth and print syntax --- .github/workflows/test.yml | 2 +- ci/test.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d36ff49d4..fa59c5f2e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -125,7 +125,7 @@ jobs: run: tar xjf test-${{ matrix.compiler }}.tar.bz2 -C ${{ env.DF_FOLDER }} - name: Start X server if: matrix.os == 'ubuntu' - run: Xvfb :0 -screen 0 1600x1200x32 & + run: Xvfb :0 -screen 0 1600x1200x24 & - name: Run lua tests timeout-minutes: 10 env: diff --git a/ci/test.lua b/ci/test.lua index 34fcd97a6..193b89ce8 100644 --- a/ci/test.lua +++ b/ci/test.lua @@ -213,7 +213,7 @@ end local function click_top_title_button(scr) local sw, sh = dfhack.screen.getWindowSize() - print(('screen dimensions: %d, %d'):format(sw. sh)) + print(('screen dimensions: %d, %d'):format(sw, sh)) df.global.gps.mouse_x = sw // 2 df.global.gps.precise_mouse_x = df.global.gps.mouse_x * df.global.gps.tile_pixel_x if sh < 60 then From 989415cef08b420d6e19e8f81b9a7fd1d641baac Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Sun, 24 Sep 2023 23:45:43 -0700 Subject: [PATCH 44/70] use gui.simulateInput --- ci/test.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci/test.lua b/ci/test.lua index 193b89ce8..dc814da19 100644 --- a/ci/test.lua +++ b/ci/test.lua @@ -2,6 +2,7 @@ --@ module = true local expect = require('test_util.expect') +local gui = require('gui') local helpdb = require('helpdb') local json = require('json') local mock = require('test_util.mock') @@ -226,7 +227,7 @@ local function click_top_title_button(scr) df.global.enabler.tracking_on = 1 df.global.enabler.mouse_lbut = 1 df.global.enabler.mouse_lbut_down = 1 - dfhack.screen._doSimulateInput(scr, {}) + gui.simulateInput(scr, '_MOUSE_L') end local function load_first_save(scr) From 9cd90589822cbc6bc2adee1e90b543293b27adcc Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Mon, 25 Sep 2023 00:04:29 -0700 Subject: [PATCH 45/70] set a TERM var --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fa59c5f2e..6255219e6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -130,6 +130,7 @@ jobs: timeout-minutes: 10 env: DISPLAY: :0 + TERM: xterm-256color run: python ci/run-tests.py --keep-status "${{ env.DF_FOLDER }}" - name: Check RPC interface run: python ci/check-rpc.py "${{ env.DF_FOLDER }}/dfhack-rpc.txt" From 0c1d73cfe63bd86e1061ae22eabe42619636a61a Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Mon, 25 Sep 2023 00:04:41 -0700 Subject: [PATCH 46/70] adjust settings to v50 norms --- ci/run-tests.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/ci/run-tests.py b/ci/run-tests.py index 257359324..f43c7efd4 100755 --- a/ci/run-tests.py +++ b/ci/run-tests.py @@ -65,14 +65,12 @@ if not os.path.exists(init_txt_path): shutil.copyfile(init_txt_path, init_txt_path + '.orig') with open(init_txt_path) as f: init_contents = f.read() -init_contents = change_setting(init_contents, 'INTRO', 'NO') init_contents = change_setting(init_contents, 'SOUND', 'NO') init_contents = change_setting(init_contents, 'WINDOWED', 'YES') -init_contents = change_setting(init_contents, 'WINDOWEDX', '80') -init_contents = change_setting(init_contents, 'WINDOWEDY', '25') -init_contents = change_setting(init_contents, 'FPS', 'YES') -if args.headless: - init_contents = change_setting(init_contents, 'PRINT_MODE', 'TEXT') +init_contents = change_setting(init_contents, 'WINDOWEDX', '1200') +init_contents = change_setting(init_contents, 'WINDOWEDY', '800') +#if args.headless: +# init_contents = change_setting(init_contents, 'PRINT_MODE', 'TEXT') init_path = 'dfhack-config/init' if not os.path.isdir('hack/init'): From cc49c07870d2585b0ec625354cb2020cb0193c23 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Mon, 25 Sep 2023 12:07:39 -0700 Subject: [PATCH 47/70] click on buttons to drive the UI --- ci/test.lua | 69 +++++++++++++++++++++++++---------------------------- 1 file changed, 33 insertions(+), 36 deletions(-) diff --git a/ci/test.lua b/ci/test.lua index dc814da19..3b5b041ba 100644 --- a/ci/test.lua +++ b/ci/test.lua @@ -156,19 +156,18 @@ local function is_title_screen() return dfhack.gui.matchFocusString('title/Default') end -local function wait_for_game_load() +local function wait_for(ms, desc, predicate) local start_ms = dfhack.getTickCount() local prev_ms = start_ms - while df.viewscreen_initial_prepst:is_instance(dfhack.gui.getDFViewscreen()) do + while not predicate() do delay(10) - -- wait up to 1 minute for the game to load and show the title screen local now_ms = dfhack.getTickCount() - if now_ms - start_ms > 60000 then - qerror(('Could not find title screen (timed out at %s)'):format( - dfhack.gui.getCurFocus(true)[1])) + if now_ms - start_ms > ms then + qerror(('%s took too long (timed out at %s)'):format( + desc, dfhack.gui.getCurFocus(true)[1])) end if now_ms - prev_ms > 1000 then - print('Waiting for game to load and show title screen...') + print(('Waiting for %s...'):format(desc)) prev_ms = now_ms end end @@ -178,7 +177,6 @@ end -- has already loaded a fortress or is in any screen that can't get to the title -- screen by sending ESC keys. local function ensure_title_screen() - wait_for_game_load() if df.viewscreen_dwarfmodest:is_instance(dfhack.gui.getDFViewscreen(true)) then qerror('Cannot reach title screen from loaded fort') end @@ -208,21 +206,21 @@ local function ensure_ci_save(scr) or #scr.savegame_header_world ~= 1 or not string.find(scr.savegame_header[0].fort_name, 'Dream') then - qerror('Unexpected test save in slot 0; please manually load a fort for testing. note that tests may corrupt the game!') + qerror('Unexpected test save in slot 0; please manually load a fort for ' .. + 'running fortress mode tests. note that tests may alter or corrupt the ' .. + 'fort! Do not save after running tests.') end end local function click_top_title_button(scr) local sw, sh = dfhack.screen.getWindowSize() - print(('screen dimensions: %d, %d'):format(sw, sh)) df.global.gps.mouse_x = sw // 2 df.global.gps.precise_mouse_x = df.global.gps.mouse_x * df.global.gps.tile_pixel_x if sh < 60 then - df.global.gps.mouse_y = 23 + df.global.gps.mouse_y = 25 else - df.global.gps.mouse_y = (sh // 2) + 1 + df.global.gps.mouse_y = (sh // 2) + 3 end - print(('simulating click at screen coordinates %d, %d'):format(df.global.gps.mouse_x, df.global.gps.mouse_y)) df.global.gps.precise_mouse_y = df.global.gps.mouse_y * df.global.gps.tile_pixel_y df.global.enabler.tracking_on = 1 df.global.enabler.mouse_lbut = 1 @@ -234,18 +232,25 @@ local function load_first_save(scr) if #scr.savegame_header == 0 then qerror('no savegames available to load') end - scr.mode = 2 + click_top_title_button(scr) - delay() + wait_for(1000, 'world list', function() + return scr.mode == 2 + end) click_top_title_button(scr) - delay() + wait_for(1000, 'savegame list', function() + return scr.mode == 3 + end) + click_top_title_button(scr) + wait_for(1000, 'loadgame progress bar', function() + return dfhack.gui.matchFocusString('loadgame') + end) end -- Requires that a fortress game is already loaded or is ready to be loaded via -- the "Continue active game" option in the title screen. Otherwise the function -- will time out and/or exit with error. local function ensure_fortress(config) - wait_for_game_load() for screen_timeout = 1,10 do if is_fortress() then print('Fortress map is loaded') @@ -253,8 +258,8 @@ local function ensure_fortress(config) dfhack.gui.resetDwarfmodeView(true) return end - local scr = dfhack.gui.getDFViewscreen(true) - if dfhack.gui.matchFocusString('title/Default') then + local scr = dfhack.gui.getCurViewscreen() + if dfhack.gui.matchFocusString('title/Default', scr) then print('Attempting to load the test fortress') -- TODO: reinstate loading of a specified save dir; for now -- just load the first possible save, which will at least let us @@ -263,29 +268,17 @@ local function ensure_fortress(config) -- dfhack.run_script('load-save', config.save_dir) ensure_ci_save(scr) load_first_save(scr) - elseif not dfhack.gui.matchFocusString('loadgame') then + elseif not dfhack.gui.matchFocusString('loadgame', scr) then -- if we're not actively loading a game, hope we're in -- a screen where hitting ESC will get us to the game map -- or the title screen scr:feed_key(df.interface_key.LEAVESCREEN) end -- wait for current screen to change - local prev_focus_string = dfhack.gui.getCurFocus(true)[1] - for frame_timeout = 1,100 do - delay(10) - local focus_string = dfhack.gui.getCurFocus(true)[1] - if focus_string ~= prev_focus_string then - goto next_screen - end - if frame_timeout % 10 == 0 then - print(string.format( - 'Loading fortress (currently at screen: %s)', - focus_string)) - end - end - print('Timed out waiting for screen to change') - break - ::next_screen:: + local prev_focus_string = dfhack.gui.getCurFocus()[1] + wait_for(60000, 'screen change', function() + return dfhack.gui.getCurFocus()[1] ~= prev_focus_string + end) end qerror(string.format('Could not load fortress (timed out at %s)', table.concat(dfhack.gui.getCurFocus(), ' '))) @@ -630,6 +623,10 @@ local function filter_tests(tests, config) end local function run_tests(tests, status, counts, config) + wait_for(60000, 'game load', function() + local scr = dfhack.gui.getDFViewscreen() + return not df.viewscreen_initial_prepst:is_instance(scr) + end) print(('Running %d tests'):format(#tests)) local start_ms = dfhack.getTickCount() local num_skipped = 0 From 30e3b695a17b215a9c10a11c51d29a91ac74f189 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Mon, 25 Sep 2023 17:34:38 -0700 Subject: [PATCH 48/70] skip crashing tests and mark them as failed --- ci/run-tests.py | 2 +- ci/test.lua | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ci/run-tests.py b/ci/run-tests.py index f43c7efd4..13eeb099c 100755 --- a/ci/run-tests.py +++ b/ci/run-tests.py @@ -31,7 +31,7 @@ if args.test_dir is not None: if not os.path.isdir(args.test_dir): print('ERROR: invalid test folder: %r' % args.test_dir) -MAX_TRIES = 1 +MAX_TRIES = 5 dfhack = 'Dwarf Fortress.exe' if sys.platform == 'win32' else './dfhack' test_status_file = 'test_status.json' diff --git a/ci/test.lua b/ci/test.lua index 3b5b041ba..372d8f262 100644 --- a/ci/test.lua +++ b/ci/test.lua @@ -645,12 +645,13 @@ local function run_tests(tests, status, counts, config) goto skip end end + -- pre-emptively mark the test as failed in case we induce a crash + status[test.full_name] = TestStatus.FAILED + save_test_status(status) if run_test(test, status, counts) then status[test.full_name] = TestStatus.PASSED - else - status[test.full_name] = TestStatus.FAILED + save_test_status(status) end - save_test_status(status) ::skip:: end local elapsed_ms = dfhack.getTickCount() - start_ms From 83137378332e02601b9ff4e267fca538b67eaae3 Mon Sep 17 00:00:00 2001 From: DFHack-Urist via GitHub Actions <63161697+DFHack-Urist@users.noreply.github.com> Date: Tue, 26 Sep 2023 07:13:08 +0000 Subject: [PATCH 49/70] Auto-update submodules scripts: master --- scripts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts b/scripts index 0ed4052ac..a8aacf9b3 160000 --- a/scripts +++ b/scripts @@ -1 +1 @@ -Subproject commit 0ed4052ac9049151657e22831996800d0d3104bb +Subproject commit a8aacf9b3e8d71c338f8d087792ee8aa39a85220 From 932f3324d3efb09d160008b59bf25842cfa76b2a Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Tue, 26 Sep 2023 03:45:15 -0700 Subject: [PATCH 50/70] add detailed focus strings for setupdwarfgame --- library/modules/Gui.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/library/modules/Gui.cpp b/library/modules/Gui.cpp index 9eee284ac..58763262f 100644 --- a/library/modules/Gui.cpp +++ b/library/modules/Gui.cpp @@ -87,6 +87,7 @@ using namespace DFHack; #include "df/viewscreen_dwarfmodest.h" #include "df/viewscreen_legendsst.h" #include "df/viewscreen_new_regionst.h" +#include "df/viewscreen_setupdwarfgamest.h" #include "df/viewscreen_titlest.h" #include "df/world.h" @@ -174,6 +175,45 @@ DEFINE_GET_FOCUS_STRING_HANDLER(new_region) focusStrings.push_back(baseFocus); } +DEFINE_GET_FOCUS_STRING_HANDLER(setupdwarfgame) +{ + if (screen->doing_custom_settings) + focusStrings.push_back(baseFocus + "/CustomSettings"); + else if (game->main_interface.options.open) + focusStrings.push_back(baseFocus + "/Abort"); + else if (screen->initial_selection == 1) + focusStrings.push_back(baseFocus + "/Default"); + else if (game->main_interface.name_creator.open) { + switch (game->main_interface.name_creator.context) { + case df::name_creator_context_type::EMBARK_FORT_NAME: + focusStrings.push_back(baseFocus + "/FortName"); + break; + case df::name_creator_context_type::EMBARK_GROUP_NAME: + focusStrings.push_back(baseFocus + "/GroupName"); + break; + default: + break; + } + } + else if (game->main_interface.image_creator.open) { + focusStrings.push_back(baseFocus + "/GroupSymbol"); + } + else if (screen->viewing_objections != 0) + focusStrings.push_back(baseFocus + "/Objections"); + else { + switch (screen->mode) { + case 0: focusStrings.push_back(baseFocus + "/Dwarves"); break; + case 1: focusStrings.push_back(baseFocus + "/Items"); break; + case 2: focusStrings.push_back(baseFocus + "/Animals"); break; + default: + break; + } + } + + if (focusStrings.empty()) + focusStrings.push_back(baseFocus + "/Default"); +} + DEFINE_GET_FOCUS_STRING_HANDLER(legends) { if (screen->init_stage != -1) From eefd38c66cc78d3159a7e85096bcade24dd441a7 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Tue, 26 Sep 2023 03:52:24 -0700 Subject: [PATCH 51/70] align mouse button semantics to DF we, um, had it backwards --- docs/changelog.txt | 1 + docs/dev/Lua API.rst | 4 +- library/LuaTools.cpp | 72 +++++++++---------- library/lua/gui.lua | 23 ++---- library/lua/gui/dialogs.lua | 8 +-- library/lua/gui/widgets.lua | 37 +++++----- library/modules/Screen.cpp | 10 +++ plugins/lua/buildingplan/inspectoroverlay.lua | 4 +- plugins/lua/buildingplan/itemselection.lua | 4 +- plugins/lua/buildingplan/planneroverlay.lua | 8 +-- plugins/lua/hotkeys.lua | 8 +-- plugins/lua/overlay.lua | 3 - plugins/lua/sort.lua | 4 +- plugins/lua/zone.lua | 9 ++- test/library/gui/widgets.EditField.lua | 6 +- test/library/gui/widgets.Scrollbar.lua | 18 ++--- test/library/gui/widgets.lua | 4 +- 17 files changed, 110 insertions(+), 113 deletions(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index 9efb86430..9e377dd4f 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -66,6 +66,7 @@ Template for new versions: ## API ## Lua +- mouse key events are now aligned with internal DF semantics: ``_MOUSE_L`` indicates that the left mouse button has just been pressed and ``_MOUSE_L_DOWN`` indicates that the left mouse button is being held down. similar for ``_MOUSE_R`` and ``_MOUSE_M``. 3rd party scripts may have to adjust. ## Removed diff --git a/docs/dev/Lua API.rst b/docs/dev/Lua API.rst index 1cba8284e..6eeb2dbe7 100644 --- a/docs/dev/Lua API.rst +++ b/docs/dev/Lua API.rst @@ -2528,10 +2528,10 @@ Supported callbacks and fields are: Maps to an integer in range 0-255. Duplicates a separate "STRING_A???" code for convenience. ``_MOUSE_L, _MOUSE_R, _MOUSE_M`` - If the left, right, and/or middle mouse button is being pressed. + If the left, right, and/or middle mouse button was just pressed. ``_MOUSE_L_DOWN, _MOUSE_R_DOWN, _MOUSE_M_DOWN`` - If the left, right, and/or middle mouse button was just pressed. + If the left, right, and/or middle mouse button is being held down. If this method is omitted, the screen is dismissed on reception of the ``LEAVESCREEN`` key. diff --git a/library/LuaTools.cpp b/library/LuaTools.cpp index ffeb4980a..87699641d 100644 --- a/library/LuaTools.cpp +++ b/library/LuaTools.cpp @@ -131,12 +131,12 @@ void DFHack::Lua::GetVector(lua_State *state, std::vector &pvec, in } } -static bool trigger_inhibit_l_down = false; -static bool trigger_inhibit_r_down = false; -static bool trigger_inhibit_m_down = false; -static bool inhibit_l_down = false; -static bool inhibit_r_down = false; -static bool inhibit_m_down = false; +static bool trigger_inhibit_l = false; +static bool trigger_inhibit_r = false; +static bool trigger_inhibit_m = false; +static bool inhibit_l = false; +static bool inhibit_r = false; +static bool inhibit_m = false; void DFHack::Lua::PushInterfaceKeys(lua_State *L, const std::set &keys) { @@ -161,32 +161,32 @@ void DFHack::Lua::PushInterfaceKeys(lua_State *L, } if (df::global::enabler) { - if (!inhibit_l_down && df::global::enabler->mouse_lbut_down) { + if (!inhibit_l && df::global::enabler->mouse_lbut) { lua_pushboolean(L, true); - lua_setfield(L, -2, "_MOUSE_L_DOWN"); - trigger_inhibit_l_down = true; + lua_setfield(L, -2, "_MOUSE_L"); + trigger_inhibit_l = true; } - if (!inhibit_r_down && df::global::enabler->mouse_rbut_down) { + if (!inhibit_r && df::global::enabler->mouse_rbut) { lua_pushboolean(L, true); - lua_setfield(L, -2, "_MOUSE_R_DOWN"); - trigger_inhibit_r_down = true; + lua_setfield(L, -2, "_MOUSE_R"); + trigger_inhibit_r = true; } - if (!inhibit_m_down && df::global::enabler->mouse_mbut_down) { + if (!inhibit_m && df::global::enabler->mouse_mbut) { lua_pushboolean(L, true); - lua_setfield(L, -2, "_MOUSE_M_DOWN"); - trigger_inhibit_m_down = true; + lua_setfield(L, -2, "_MOUSE_M"); + trigger_inhibit_m = true; } - if (df::global::enabler->mouse_lbut) { + if (df::global::enabler->mouse_lbut_down) { lua_pushboolean(L, true); - lua_setfield(L, -2, "_MOUSE_L"); + lua_setfield(L, -2, "_MOUSE_L_DOWN"); } - if (df::global::enabler->mouse_rbut) { + if (df::global::enabler->mouse_rbut_down) { lua_pushboolean(L, true); - lua_setfield(L, -2, "_MOUSE_R"); + lua_setfield(L, -2, "_MOUSE_R_DOWN"); } - if (df::global::enabler->mouse_mbut) { + if (df::global::enabler->mouse_mbut_down) { lua_pushboolean(L, true); - lua_setfield(L, -2, "_MOUSE_M"); + lua_setfield(L, -2, "_MOUSE_M_DOWN"); } } } @@ -2159,25 +2159,25 @@ void DFHack::Lua::Core::Reset(color_ostream &out, const char *where) lua_settop(State, 0); } - if (trigger_inhibit_l_down) { - trigger_inhibit_l_down = false; - inhibit_l_down = true; + if (trigger_inhibit_l) { + trigger_inhibit_l = false; + inhibit_l = true; } - if (trigger_inhibit_r_down) { - trigger_inhibit_r_down = false; - inhibit_r_down = true; + if (trigger_inhibit_r) { + trigger_inhibit_r = false; + inhibit_r = true; } - if (trigger_inhibit_m_down) { - trigger_inhibit_m_down = false; - inhibit_m_down = true; + if (trigger_inhibit_m) { + trigger_inhibit_m = false; + inhibit_m = true; } if (df::global::enabler) { - if (!df::global::enabler->mouse_lbut) - inhibit_l_down = false; - if (!df::global::enabler->mouse_rbut) - inhibit_r_down = false; - if (!df::global::enabler->mouse_mbut) - inhibit_m_down = false; + if (!df::global::enabler->mouse_lbut_down) + inhibit_l = false; + if (!df::global::enabler->mouse_rbut_down) + inhibit_r = false; + if (!df::global::enabler->mouse_mbut_down) + inhibit_m = false; } } diff --git a/library/lua/gui.lua b/library/lua/gui.lua index bba7222b9..ba49e0cdc 100644 --- a/library/lua/gui.lua +++ b/library/lua/gui.lua @@ -696,16 +696,12 @@ end DEFAULT_INITIAL_PAUSE = true -local zscreen_inhibit_mouse_l = false - -- ensure underlying DF screens don't also react to handled clicks function markMouseClicksHandled(keys) - if keys._MOUSE_L_DOWN then - -- note we can't clear mouse_lbut here. otherwise we break dragging, - df.global.enabler.mouse_lbut_down = 0 - zscreen_inhibit_mouse_l = true + if keys._MOUSE_L then + df.global.enabler.mouse_lbut = 0 end - if keys._MOUSE_R_DOWN then + if keys._MOUSE_R then df.global.enabler.mouse_rbut_down = 0 df.global.enabler.mouse_rbut = 0 end @@ -789,7 +785,7 @@ function ZScreen:onInput(keys) local has_mouse = self:isMouseOver() if not self:hasFocus() then if has_mouse and - (keys._MOUSE_L_DOWN or keys._MOUSE_R_DOWN or + (keys._MOUSE_L or keys._MOUSE_R or keys.CONTEXT_SCROLL_UP or keys.CONTEXT_SCROLL_DOWN or keys.CONTEXT_SCROLL_PAGEUP or keys.CONTEXT_SCROLL_PAGEDOWN) then self:raise() @@ -804,22 +800,15 @@ function ZScreen:onInput(keys) return end - if self.pass_mouse_clicks and keys._MOUSE_L_DOWN and not has_mouse then + if self.pass_mouse_clicks and keys._MOUSE_L and not has_mouse then self.defocused = self.defocusable self:sendInputToParent(keys) return - elseif keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + elseif keys.LEAVESCREEN or keys._MOUSE_R then self:dismiss() markMouseClicksHandled(keys) return else - if zscreen_inhibit_mouse_l then - if keys._MOUSE_L then - return - else - zscreen_inhibit_mouse_l = false - end - end local passit = self.pass_pause and keys.D_PAUSE if not passit and self.pass_mouse_clicks then if keys.CONTEXT_SCROLL_UP or keys.CONTEXT_SCROLL_DOWN or diff --git a/library/lua/gui/dialogs.lua b/library/lua/gui/dialogs.lua index 499fa6305..95a56d0c4 100644 --- a/library/lua/gui/dialogs.lua +++ b/library/lua/gui/dialogs.lua @@ -57,11 +57,11 @@ function MessageBox:onDestroy() end function MessageBox:onInput(keys) - if keys.SELECT or keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + if keys.SELECT or keys.LEAVESCREEN or keys._MOUSE_R then self:dismiss() if keys.SELECT and self.on_accept then self.on_accept() - elseif (keys.LEAVESCREEN or keys._MOUSE_R_DOWN) and self.on_cancel then + elseif (keys.LEAVESCREEN or keys._MOUSE_R) and self.on_cancel then self.on_cancel() end gui.markMouseClicksHandled(keys) @@ -129,7 +129,7 @@ function InputBox:onInput(keys) self.on_input(self.subviews.edit.text) end return true - elseif keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + elseif keys.LEAVESCREEN or keys._MOUSE_R then self:dismiss() if self.on_cancel then self.on_cancel() @@ -231,7 +231,7 @@ function ListBox:getWantedFrameSize() end function ListBox:onInput(keys) - if keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + if keys.LEAVESCREEN or keys._MOUSE_R then self:dismiss() if self.on_cancel then self.on_cancel() diff --git a/library/lua/gui/widgets.lua b/library/lua/gui/widgets.lua index 6a0a0091b..05d237f35 100644 --- a/library/lua/gui/widgets.lua +++ b/library/lua/gui/widgets.lua @@ -273,7 +273,7 @@ end function Panel:onInput(keys) if self.kbd_get_pos then - if keys.SELECT or keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + if keys.SELECT or keys.LEAVESCREEN or keys._MOUSE_R then Panel_end_drag(self, not keys.SELECT and self.saved_frame or nil, not not keys.SELECT) return true @@ -281,7 +281,6 @@ function Panel:onInput(keys) for code in pairs(keys) do local dx, dy = guidm.get_movement_delta(code, 1, 10) if dx then - local frame_rect = self.frame_rect local kbd_pos = self.kbd_get_pos() kbd_pos.x = kbd_pos.x + dx kbd_pos.y = kbd_pos.y + dy @@ -292,9 +291,9 @@ function Panel:onInput(keys) return end if self.drag_offset then - if keys._MOUSE_R_DOWN then + if keys._MOUSE_R then Panel_end_drag(self, self.saved_frame) - elseif keys._MOUSE_L then + elseif keys._MOUSE_L_DOWN then Panel_update_frame(self, Panel_make_frame(self)) end return true @@ -302,7 +301,7 @@ function Panel:onInput(keys) if Panel.super.onInput(self, keys) then return true end - if not keys._MOUSE_L_DOWN then return end + if not keys._MOUSE_L then return end local x,y = self:getMouseFramePos() if not x then return end @@ -489,7 +488,7 @@ function Panel:onRenderFrame(dc, rect) dc:seek(pos.x, pos.y):pen(pen):char(string.char(0xDB)) end if self.drag_offset and not self.kbd_get_pos - and df.global.enabler.mouse_lbut == 0 then + and df.global.enabler.mouse_lbut_down == 0 then Panel_end_drag(self, nil, true) end end @@ -718,7 +717,7 @@ function EditField:onInput(keys) end end - if self.key and (keys.LEAVESCREEN or keys._MOUSE_R_DOWN) then + if self.key and (keys.LEAVESCREEN or keys._MOUSE_R) then self:setText(self.saved_text) self:setFocus(false) return true @@ -740,8 +739,8 @@ function EditField:onInput(keys) end end return not not self.key - elseif keys._MOUSE_L then - local mouse_x, mouse_y = self:getMousePos() + elseif keys._MOUSE_L_DOWN then + local mouse_x = self:getMousePos() if mouse_x then self:setCursor(self.start_pos + mouse_x - (self.text_offset or 0)) return true @@ -986,7 +985,7 @@ function Scrollbar:onRenderBody(dc) if self.is_dragging then scrollbar_do_drag(self) end - if df.global.enabler.mouse_lbut == 0 then + if df.global.enabler.mouse_lbut_down == 0 then self.last_scroll_ms = 0 self.is_dragging = false self.scroll_spec = nil @@ -1023,7 +1022,7 @@ function Scrollbar:onInput(keys) return true end end - if not keys._MOUSE_L_DOWN then return false end + if not keys._MOUSE_L then return false end local _,y = self:getMousePos() if not y then return false end local scroll_spec = nil @@ -1386,11 +1385,11 @@ function Label:onInput(keys) if self:inputToSubviews(keys) then return true end - if keys._MOUSE_L_DOWN and self:getMousePos() and self.on_click then + if keys._MOUSE_L and self:getMousePos() and self.on_click then self.on_click() return true end - if keys._MOUSE_R_DOWN and self:getMousePos() and self.on_rclick then + if keys._MOUSE_R and self:getMousePos() and self.on_rclick then self.on_rclick() return true end @@ -1498,7 +1497,7 @@ end function HotkeyLabel:onInput(keys) if HotkeyLabel.super.onInput(self, keys) then return true - elseif keys._MOUSE_L_DOWN and self:getMousePos() and self.on_activate + elseif keys._MOUSE_L and self:getMousePos() and self.on_activate and not is_disabled(self) then self.on_activate() return true @@ -1658,7 +1657,7 @@ end function CycleHotkeyLabel:onInput(keys) if CycleHotkeyLabel.super.onInput(self, keys) then return true - elseif keys._MOUSE_L_DOWN and self:getMousePos() and not is_disabled(self) then + elseif keys._MOUSE_L and self:getMousePos() and not is_disabled(self) then self:cycle() return true end @@ -1962,7 +1961,7 @@ function List:onInput(keys) return self:submit() elseif keys.CUSTOM_SHIFT_ENTER then return self:submit2() - elseif keys._MOUSE_L_DOWN then + elseif keys._MOUSE_L then local idx = self:getIdxUnderMouse() if idx then local now_ms = dfhack.getTickCount() @@ -2317,7 +2316,7 @@ end function Tab:onInput(keys) if Tab.super.onInput(self, keys) then return true end - if keys._MOUSE_L_DOWN and self:getMousePos() then + if keys._MOUSE_L and self:getMousePos() then self.on_select(self.id) return true end @@ -2419,7 +2418,7 @@ local function rangeslider_get_width_per_idx(self) end function RangeSlider:onInput(keys) - if not keys._MOUSE_L_DOWN then return false end + if not keys._MOUSE_L then return false end local x = self:getMousePos() if not x then return false end local left_idx, right_idx = self.get_left_idx_fn(), self.get_right_idx_fn() @@ -2527,7 +2526,7 @@ function RangeSlider:onRenderBody(dc, rect) if self.is_dragging_target then rangeslider_do_drag(self, width_per_idx) end - if df.global.enabler.mouse_lbut == 0 then + if df.global.enabler.mouse_lbut_down == 0 then self.is_dragging_target = nil self.is_dragging_idx = nil end diff --git a/library/modules/Screen.cpp b/library/modules/Screen.cpp index 5f98c40e5..a5b347493 100644 --- a/library/modules/Screen.cpp +++ b/library/modules/Screen.cpp @@ -1004,6 +1004,8 @@ dfhack_lua_viewscreen::~dfhack_lua_viewscreen() void dfhack_lua_viewscreen::render() { + using df::global::enabler; + if (Screen::isDismissed(this)) { if (parent) @@ -1011,6 +1013,14 @@ void dfhack_lua_viewscreen::render() return; } + if (enabler && + (enabler->mouse_lbut_down || enabler->mouse_rbut_down || enabler->mouse_mbut_down)) + { + // synthesize feed events for held mouse buttons + std::set keys; + feed(&keys); + } + dfhack_viewscreen::render(); safe_call_lua(do_render, 0, 0); diff --git a/plugins/lua/buildingplan/inspectoroverlay.lua b/plugins/lua/buildingplan/inspectoroverlay.lua index 1fcf19028..3c6f0ed5e 100644 --- a/plugins/lua/buildingplan/inspectoroverlay.lua +++ b/plugins/lua/buildingplan/inspectoroverlay.lua @@ -127,9 +127,9 @@ function InspectorOverlay:onInput(keys) if not require('plugins.buildingplan').isPlannedBuilding(dfhack.gui.getSelectedBuilding(true)) then return false end - if keys._MOUSE_L_DOWN and mouse_is_over_resume_button(self.frame_parent_rect) then + if keys._MOUSE_L and mouse_is_over_resume_button(self.frame_parent_rect) then return true - elseif keys._MOUSE_L_DOWN or keys._MOUSE_R_DOWN or keys.LEAVESCREEN then + elseif keys._MOUSE_L or keys._MOUSE_R or keys.LEAVESCREEN then self:reset() end return InspectorOverlay.super.onInput(self, keys) diff --git a/plugins/lua/buildingplan/itemselection.lua b/plugins/lua/buildingplan/itemselection.lua index 84e866502..9dfd0cc69 100644 --- a/plugins/lua/buildingplan/itemselection.lua +++ b/plugins/lua/buildingplan/itemselection.lua @@ -366,10 +366,10 @@ function ItemSelection:submit(choices) end function ItemSelection:onInput(keys) - if keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + if keys.LEAVESCREEN or keys._MOUSE_R then self.on_cancel() return true - elseif keys._MOUSE_L_DOWN then + elseif keys._MOUSE_L then local list = self.subviews.flist.list local idx = list:getIdxUnderMouse() if idx then diff --git a/plugins/lua/buildingplan/planneroverlay.lua b/plugins/lua/buildingplan/planneroverlay.lua index ebd8e6e02..2cc15dfde 100644 --- a/plugins/lua/buildingplan/planneroverlay.lua +++ b/plugins/lua/buildingplan/planneroverlay.lua @@ -272,7 +272,7 @@ function ItemLine:reset() end function ItemLine:onInput(keys) - if keys._MOUSE_L_DOWN and self:getMousePos() then + if keys._MOUSE_L and self:getMousePos() then self.on_select(self.idx) end return ItemLine.super.onInput(self, keys) @@ -739,7 +739,7 @@ end function PlannerOverlay:onInput(keys) if not is_plannable() then return false end - if keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + if keys.LEAVESCREEN or keys._MOUSE_R then if uibs.selection_pos:isValid() then uibs.selection_pos:clear() return true @@ -758,7 +758,7 @@ function PlannerOverlay:onInput(keys) return true end if self:is_minimized() then return false end - if keys._MOUSE_L_DOWN then + if keys._MOUSE_L then if is_over_options_panel() then return false end local detect_rect = copyall(self.frame_rect) detect_rect.height = self.subviews.main.frame_rect.height + @@ -828,7 +828,7 @@ function PlannerOverlay:onInput(keys) end end end - return keys._MOUSE_L or keys.SELECT + return keys._MOUSE_L_DOWN or keys.SELECT end function PlannerOverlay:render(dc) diff --git a/plugins/lua/hotkeys.lua b/plugins/lua/hotkeys.lua index 8eff17aae..80f8816e8 100644 --- a/plugins/lua/hotkeys.lua +++ b/plugins/lua/hotkeys.lua @@ -269,24 +269,24 @@ function Menu:onSubmit2(_, choice) end function Menu:onInput(keys) - if keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + if keys.LEAVESCREEN or keys._MOUSE_R then return false elseif keys.KEYBOARD_CURSOR_RIGHT then self:onSubmit2(self.subviews.list:getSelected()) return true - elseif keys._MOUSE_L_DOWN then + elseif keys._MOUSE_L then local list = self.subviews.list local x = list:getMousePos() if x == 0 then -- clicked on icon self:onSubmit2(list:getSelected()) - df.global.enabler.mouse_lbut = 0 + gui.markMouseClicksHandled(keys) return true end if not self:getMouseFramePos() then self.parent_view:dismiss() return true end - df.global.enabler.mouse_lbut = 0 + gui.markMouseClicksHandled(keys) end self:inputToSubviews(keys) return true -- we're modal diff --git a/plugins/lua/overlay.lua b/plugins/lua/overlay.lua index d3f0b9c9d..cd5286d0d 100644 --- a/plugins/lua/overlay.lua +++ b/plugins/lua/overlay.lua @@ -507,9 +507,6 @@ function feed_viewscreen_widgets(vs_name, vs, keys) return false end gui.markMouseClicksHandled(keys) - if keys._MOUSE_L_DOWN then - df.global.enabler.mouse_lbut = 0 - end return true end diff --git a/plugins/lua/sort.lua b/plugins/lua/sort.lua index 15d9ebabb..cc24d2e3e 100644 --- a/plugins/lua/sort.lua +++ b/plugins/lua/sort.lua @@ -1148,9 +1148,7 @@ function SquadAssignmentOverlay:refresh_list(sort_widget, sort_fn) end function SquadAssignmentOverlay:onInput(keys) - if keys._MOUSE_R_DOWN or - keys._MOUSE_L_DOWN and not self:getMouseFramePos() - then + if keys._MOUSE_R or (keys._MOUSE_L and not self:getMouseFramePos()) then -- if any click is made outside of our window, we may need to refresh our list self.dirty = true end diff --git a/plugins/lua/zone.lua b/plugins/lua/zone.lua index 3c07b609f..13182cef1 100644 --- a/plugins/lua/zone.lua +++ b/plugins/lua/zone.lua @@ -801,10 +801,12 @@ end function AssignAnimalScreen:onInput(keys) local handled = AssignAnimalScreen.super.onInput(self, keys) if not self.is_valid_ui_state() then - view:dismiss() + if view then + view:dismiss() + end return end - if keys._MOUSE_L_DOWN then + if keys._MOUSE_L then -- if any click is made outside of our window, we need to recheck unit properties local window = self.subviews[1] if not window:getMouseFramePos() then @@ -818,7 +820,7 @@ function AssignAnimalScreen:onInput(keys) end function AssignAnimalScreen:onRenderFrame() - if not self.is_valid_ui_state() then + if view and not self.is_valid_ui_state() then view:dismiss() end end @@ -1072,6 +1074,7 @@ function CageChainOverlay:init() frame={t=0, l=0, r=0, h=1}, label='DFHack assign', key='CUSTOM_CTRL_T', + visible=is_valid_building, on_activate=function() view = view and view:raise() or show_cage_chain_screen() end, }, } diff --git a/test/library/gui/widgets.EditField.lua b/test/library/gui/widgets.EditField.lua index 88625a7bf..8418b67d4 100644 --- a/test/library/gui/widgets.EditField.lua +++ b/test/library/gui/widgets.EditField.lua @@ -42,17 +42,17 @@ function test.editfield_click() expect.eq(5, e.cursor) mock.patch(e, 'getMousePos', mock.func(0), function() - e:onInput{_MOUSE_L=true} + e:onInput{_MOUSE_L_DOWN=true} expect.eq(1, e.cursor) end) mock.patch(e, 'getMousePos', mock.func(20), function() - e:onInput{_MOUSE_L=true} + e:onInput{_MOUSE_L_DOWN=true} expect.eq(5, e.cursor, 'should only seek to end of text') end) mock.patch(e, 'getMousePos', mock.func(2), function() - e:onInput{_MOUSE_L=true} + e:onInput{_MOUSE_L_DOWN=true} expect.eq(3, e.cursor) end) end diff --git a/test/library/gui/widgets.Scrollbar.lua b/test/library/gui/widgets.Scrollbar.lua index 548792b3d..dd490256c 100644 --- a/test/library/gui/widgets.Scrollbar.lua +++ b/test/library/gui/widgets.Scrollbar.lua @@ -59,37 +59,37 @@ function test.onInput() s:update(23, 10, 50) expect.false_(s:onInput{}, 'no mouse down') - expect.false_(s:onInput{_MOUSE_L_DOWN=true}, 'no y coord') + expect.false_(s:onInput{_MOUSE_L=true}, 'no y coord') spec, y = nil, 0 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.eq('up_small', spec, 'on up arrow') spec, y = nil, 1 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.eq('up_large', spec, 'on body above bar') spec, y = nil, 44 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.eq('up_large', spec, 'on body just above bar') spec, y = nil, 45 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.nil_(spec, 'on top of bar') spec, y = nil, 63 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.nil_(spec, 'on bottom of bar') spec, y = nil, 64 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.eq('down_large', spec, 'on body just below bar') spec, y = nil, 98 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.eq('down_large', spec, 'on body below bar') spec, y = nil, 99 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.eq('down_small', spec, 'on down arrow') end diff --git a/test/library/gui/widgets.lua b/test/library/gui/widgets.lua index 88d3ac952..b37fbe04d 100644 --- a/test/library/gui/widgets.lua +++ b/test/library/gui/widgets.lua @@ -7,7 +7,7 @@ function test.hotkeylabel_click() local l = widgets.HotkeyLabel{key='SELECT', on_activate=func} mock.patch(l, 'getMousePos', mock.func(0), function() - l:onInput{_MOUSE_L_DOWN=true} + l:onInput{_MOUSE_L=true} expect.eq(1, func.call_count) end) end @@ -33,7 +33,7 @@ function test.togglehotkeylabel_click() local l = widgets.ToggleHotkeyLabel{} expect.true_(l:getOptionValue()) mock.patch(l, 'getMousePos', mock.func(0), function() - l:onInput{_MOUSE_L_DOWN=true} + l:onInput{_MOUSE_L=true} expect.false_(l:getOptionValue()) end) end From 49c05aa3982e78b265d055517ac0d7d65bd0980d Mon Sep 17 00:00:00 2001 From: Mikhail Panov Date: Tue, 26 Sep 2023 17:54:34 +0300 Subject: [PATCH 52/70] Updated changelog.txt --- docs/changelog.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/changelog.txt b/docs/changelog.txt index 9efb86430..f5907f4cc 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -75,6 +75,9 @@ Template for new versions: - Linux launcher: allow Steam Overlay and game streaming to function - `autobutcher`: don't ignore semi-wild units when marking units for slaughter +## Misc Improvements +- 'sort': Improve combat skill scale thresholds + # 50.09-r4 ## New Features From e25364266081bad2f612df062c5208a146c8c1ce Mon Sep 17 00:00:00 2001 From: DFHack-Urist via GitHub Actions <63161697+DFHack-Urist@users.noreply.github.com> Date: Wed, 27 Sep 2023 02:23:08 +0000 Subject: [PATCH 53/70] Auto-update submodules library/xml: master scripts: master --- library/xml | 2 +- scripts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/library/xml b/library/xml index e6d83ccae..52fe6b277 160000 --- a/library/xml +++ b/library/xml @@ -1 +1 @@ -Subproject commit e6d83ccaee5b5a3c663b56046ae55a7389742da8 +Subproject commit 52fe6b27723ba7e3064ae03c1a7ae5712c3dc0ec diff --git a/scripts b/scripts index a8aacf9b3..4032be431 160000 --- a/scripts +++ b/scripts @@ -1 +1 @@ -Subproject commit a8aacf9b3e8d71c338f8d087792ee8aa39a85220 +Subproject commit 4032be431a669ac822583dc3ccca3c6c07c8e3aa From 32a2d9f9b5c94e3651943542d84c89a82ff4b77f Mon Sep 17 00:00:00 2001 From: Mikhail Date: Mon, 18 Sep 2023 12:49:36 +0300 Subject: [PATCH 54/70] Removed redundant uppercase in mental stability formula. Reworked thresholds for combat skill effectiveness formulas to have a higher 100 cap (more descriptive about very strong warriors). --- plugins/lua/sort.lua | 74 ++++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/plugins/lua/sort.lua b/plugins/lua/sort.lua index 15d9ebabb..778bc87b9 100644 --- a/plugins/lua/sort.lua +++ b/plugins/lua/sort.lua @@ -212,7 +212,7 @@ local function melee_skill_effectiveness(unit) end local function get_melee_skill_effectiveness_rating(unit) - return get_rating(melee_skill_effectiveness(unit), 350000, 2350000, 78, 64, 49, 35) + return get_rating(melee_skill_effectiveness(unit), 350000, 2750000, 64, 52, 40, 28) end local function make_sort_by_melee_skill_effectiveness_desc() @@ -272,7 +272,7 @@ local function ranged_skill_effectiveness(unit) end local function get_ranged_skill_effectiveness_rating(unit) - return get_rating(ranged_skill_effectiveness(unit), 0, 500000, 90, 62, 44, 27) + return get_rating(ranged_skill_effectiveness(unit), 0, 800000, 72, 52, 31, 11) end local function make_sort_by_ranged_skill_effectiveness_desc(list) @@ -345,41 +345,41 @@ end -- Statistical rating that is higher for dwarves that are mentally stable local function get_mental_stability(unit) - local ALTRUISM = unit.status.current_soul.personality.traits.ALTRUISM - local ANXIETY_PROPENSITY = unit.status.current_soul.personality.traits.ANXIETY_PROPENSITY - local BRAVERY = unit.status.current_soul.personality.traits.BRAVERY - local CHEER_PROPENSITY = unit.status.current_soul.personality.traits.CHEER_PROPENSITY - local CURIOUS = unit.status.current_soul.personality.traits.CURIOUS - local DISCORD = unit.status.current_soul.personality.traits.DISCORD - local DUTIFULNESS = unit.status.current_soul.personality.traits.DUTIFULNESS - local EMOTIONALLY_OBSESSIVE = unit.status.current_soul.personality.traits.EMOTIONALLY_OBSESSIVE - local HUMOR = unit.status.current_soul.personality.traits.HUMOR - local LOVE_PROPENSITY = unit.status.current_soul.personality.traits.LOVE_PROPENSITY - local PERSEVERENCE = unit.status.current_soul.personality.traits.PERSEVERENCE - local POLITENESS = unit.status.current_soul.personality.traits.POLITENESS - local PRIVACY = unit.status.current_soul.personality.traits.PRIVACY - local STRESS_VULNERABILITY = unit.status.current_soul.personality.traits.STRESS_VULNERABILITY - local TOLERANT = unit.status.current_soul.personality.traits.TOLERANT - - local CRAFTSMANSHIP = setbelief.getUnitBelief(unit, df.value_type['CRAFTSMANSHIP']) - local FAMILY = setbelief.getUnitBelief(unit, df.value_type['FAMILY']) - local HARMONY = setbelief.getUnitBelief(unit, df.value_type['HARMONY']) - local INDEPENDENCE = setbelief.getUnitBelief(unit, df.value_type['INDEPENDENCE']) - local KNOWLEDGE = setbelief.getUnitBelief(unit, df.value_type['KNOWLEDGE']) - local LEISURE_TIME = setbelief.getUnitBelief(unit, df.value_type['LEISURE_TIME']) - local NATURE = setbelief.getUnitBelief(unit, df.value_type['NATURE']) - local SKILL = setbelief.getUnitBelief(unit, df.value_type['SKILL']) - - -- Calculate the rating using the defined variables - local rating = (CRAFTSMANSHIP * -0.01) + (FAMILY * -0.09) + (HARMONY * 0.05) - + (INDEPENDENCE * 0.06) + (KNOWLEDGE * -0.30) + (LEISURE_TIME * 0.24) - + (NATURE * 0.27) + (SKILL * -0.21) + (ALTRUISM * 0.13) - + (ANXIETY_PROPENSITY * -0.06) + (BRAVERY * 0.06) - + (CHEER_PROPENSITY * 0.41) + (CURIOUS * -0.06) + (DISCORD * 0.14) - + (DUTIFULNESS * -0.03) + (EMOTIONALLY_OBSESSIVE * -0.13) - + (HUMOR * -0.05) + (LOVE_PROPENSITY * 0.15) + (PERSEVERENCE * -0.07) - + (POLITENESS * -0.14) + (PRIVACY * 0.03) + (STRESS_VULNERABILITY * -0.20) - + (TOLERANT * -0.11) + local altruism = unit.status.current_soul.personality.traits.ALTRUISM + local anxiety_propensity = unit.status.current_soul.personality.traits.ANXIETY_PROPENSITY + local bravery = unit.status.current_soul.personality.traits.BRAVERY + local cheer_propensity = unit.status.current_soul.personality.traits.CHEER_PROPENSITY + local curious = unit.status.current_soul.personality.traits.CURIOUS + local discord = unit.status.current_soul.personality.traits.DISCORD + local dutifulness = unit.status.current_soul.personality.traits.DUTIFULNESS + local emotionally_obsessive = unit.status.current_soul.personality.traits.EMOTIONALLY_OBSESSIVE + local humor = unit.status.current_soul.personality.traits.HUMOR + local love_propensity = unit.status.current_soul.personality.traits.LOVE_PROPENSITY + local perseverence = unit.status.current_soul.personality.traits.PERSEVERENCE + local politeness = unit.status.current_soul.personality.traits.POLITENESS + local privacy = unit.status.current_soul.personality.traits.PRIVACY + local stress_vulnerability = unit.status.current_soul.personality.traits.STRESS_VULNERABILITY + local tolerant = unit.status.current_soul.personality.traits.TOLERANT + + local craftsmanship = setbelief.getUnitBelief(unit, df.value_type['CRAFTSMANSHIP']) + local family = setbelief.getUnitBelief(unit, df.value_type['FAMILY']) + local harmony = setbelief.getUnitBelief(unit, df.value_type['HARMONY']) + local independence = setbelief.getUnitBelief(unit, df.value_type['INDEPENDENCE']) + local knowledge = setbelief.getUnitBelief(unit, df.value_type['KNOWLEDGE']) + local leisure_time = setbelief.getUnitBelief(unit, df.value_type['LEISURE_TIME']) + local nature = setbelief.getUnitBelief(unit, df.value_type['NATURE']) + local skill = setbelief.getUnitBelief(unit, df.value_type['SKILL']) + + -- calculate the rating using the defined variables + local rating = (craftsmanship * -0.01) + (family * -0.09) + (harmony * 0.05) + + (independence * 0.06) + (knowledge * -0.30) + (leisure_time * 0.24) + + (nature * 0.27) + (skill * -0.21) + (altruism * 0.13) + + (anxiety_propensity * -0.06) + (bravery * 0.06) + + (cheer_propensity * 0.41) + (curious * -0.06) + (discord * 0.14) + + (dutifulness * -0.03) + (emotionally_obsessive * -0.13) + + (humor * -0.05) + (love_propensity * 0.15) + (perseverence * -0.07) + + (politeness * -0.14) + (privacy * 0.03) + (stress_vulnerability * -0.20) + + (tolerant * -0.11) return rating end From 73fed1e833b6ce5d76459721d77bd08c1c3660c6 Mon Sep 17 00:00:00 2001 From: Mikhail Panov Date: Tue, 26 Sep 2023 17:54:34 +0300 Subject: [PATCH 55/70] Updated changelog.txt --- docs/changelog.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/changelog.txt b/docs/changelog.txt index 9efb86430..f5907f4cc 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -75,6 +75,9 @@ Template for new versions: - Linux launcher: allow Steam Overlay and game streaming to function - `autobutcher`: don't ignore semi-wild units when marking units for slaughter +## Misc Improvements +- 'sort': Improve combat skill scale thresholds + # 50.09-r4 ## New Features From 6ad724b4831f19f46ae62bede574e1817c3ba21c Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Tue, 26 Sep 2023 03:45:15 -0700 Subject: [PATCH 56/70] add detailed focus strings for setupdwarfgame --- library/modules/Gui.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/library/modules/Gui.cpp b/library/modules/Gui.cpp index 9eee284ac..58763262f 100644 --- a/library/modules/Gui.cpp +++ b/library/modules/Gui.cpp @@ -87,6 +87,7 @@ using namespace DFHack; #include "df/viewscreen_dwarfmodest.h" #include "df/viewscreen_legendsst.h" #include "df/viewscreen_new_regionst.h" +#include "df/viewscreen_setupdwarfgamest.h" #include "df/viewscreen_titlest.h" #include "df/world.h" @@ -174,6 +175,45 @@ DEFINE_GET_FOCUS_STRING_HANDLER(new_region) focusStrings.push_back(baseFocus); } +DEFINE_GET_FOCUS_STRING_HANDLER(setupdwarfgame) +{ + if (screen->doing_custom_settings) + focusStrings.push_back(baseFocus + "/CustomSettings"); + else if (game->main_interface.options.open) + focusStrings.push_back(baseFocus + "/Abort"); + else if (screen->initial_selection == 1) + focusStrings.push_back(baseFocus + "/Default"); + else if (game->main_interface.name_creator.open) { + switch (game->main_interface.name_creator.context) { + case df::name_creator_context_type::EMBARK_FORT_NAME: + focusStrings.push_back(baseFocus + "/FortName"); + break; + case df::name_creator_context_type::EMBARK_GROUP_NAME: + focusStrings.push_back(baseFocus + "/GroupName"); + break; + default: + break; + } + } + else if (game->main_interface.image_creator.open) { + focusStrings.push_back(baseFocus + "/GroupSymbol"); + } + else if (screen->viewing_objections != 0) + focusStrings.push_back(baseFocus + "/Objections"); + else { + switch (screen->mode) { + case 0: focusStrings.push_back(baseFocus + "/Dwarves"); break; + case 1: focusStrings.push_back(baseFocus + "/Items"); break; + case 2: focusStrings.push_back(baseFocus + "/Animals"); break; + default: + break; + } + } + + if (focusStrings.empty()) + focusStrings.push_back(baseFocus + "/Default"); +} + DEFINE_GET_FOCUS_STRING_HANDLER(legends) { if (screen->init_stage != -1) From 5c670d20db0b7d1387c60c9d4ecb32d488f20792 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Tue, 26 Sep 2023 03:52:24 -0700 Subject: [PATCH 57/70] align mouse button semantics to DF we, um, had it backwards --- docs/changelog.txt | 1 + docs/dev/Lua API.rst | 4 +- library/LuaTools.cpp | 72 +++++++++---------- library/lua/gui.lua | 23 ++---- library/lua/gui/dialogs.lua | 8 +-- library/lua/gui/widgets.lua | 37 +++++----- library/modules/Screen.cpp | 10 +++ plugins/lua/buildingplan/inspectoroverlay.lua | 4 +- plugins/lua/buildingplan/itemselection.lua | 4 +- plugins/lua/buildingplan/planneroverlay.lua | 8 +-- plugins/lua/hotkeys.lua | 8 +-- plugins/lua/overlay.lua | 3 - plugins/lua/sort.lua | 4 +- plugins/lua/zone.lua | 9 ++- test/library/gui/widgets.EditField.lua | 6 +- test/library/gui/widgets.Scrollbar.lua | 18 ++--- test/library/gui/widgets.lua | 4 +- 17 files changed, 110 insertions(+), 113 deletions(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index f5907f4cc..aec12a96f 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -66,6 +66,7 @@ Template for new versions: ## API ## Lua +- mouse key events are now aligned with internal DF semantics: ``_MOUSE_L`` indicates that the left mouse button has just been pressed and ``_MOUSE_L_DOWN`` indicates that the left mouse button is being held down. similar for ``_MOUSE_R`` and ``_MOUSE_M``. 3rd party scripts may have to adjust. ## Removed diff --git a/docs/dev/Lua API.rst b/docs/dev/Lua API.rst index 1cba8284e..6eeb2dbe7 100644 --- a/docs/dev/Lua API.rst +++ b/docs/dev/Lua API.rst @@ -2528,10 +2528,10 @@ Supported callbacks and fields are: Maps to an integer in range 0-255. Duplicates a separate "STRING_A???" code for convenience. ``_MOUSE_L, _MOUSE_R, _MOUSE_M`` - If the left, right, and/or middle mouse button is being pressed. + If the left, right, and/or middle mouse button was just pressed. ``_MOUSE_L_DOWN, _MOUSE_R_DOWN, _MOUSE_M_DOWN`` - If the left, right, and/or middle mouse button was just pressed. + If the left, right, and/or middle mouse button is being held down. If this method is omitted, the screen is dismissed on reception of the ``LEAVESCREEN`` key. diff --git a/library/LuaTools.cpp b/library/LuaTools.cpp index ffeb4980a..87699641d 100644 --- a/library/LuaTools.cpp +++ b/library/LuaTools.cpp @@ -131,12 +131,12 @@ void DFHack::Lua::GetVector(lua_State *state, std::vector &pvec, in } } -static bool trigger_inhibit_l_down = false; -static bool trigger_inhibit_r_down = false; -static bool trigger_inhibit_m_down = false; -static bool inhibit_l_down = false; -static bool inhibit_r_down = false; -static bool inhibit_m_down = false; +static bool trigger_inhibit_l = false; +static bool trigger_inhibit_r = false; +static bool trigger_inhibit_m = false; +static bool inhibit_l = false; +static bool inhibit_r = false; +static bool inhibit_m = false; void DFHack::Lua::PushInterfaceKeys(lua_State *L, const std::set &keys) { @@ -161,32 +161,32 @@ void DFHack::Lua::PushInterfaceKeys(lua_State *L, } if (df::global::enabler) { - if (!inhibit_l_down && df::global::enabler->mouse_lbut_down) { + if (!inhibit_l && df::global::enabler->mouse_lbut) { lua_pushboolean(L, true); - lua_setfield(L, -2, "_MOUSE_L_DOWN"); - trigger_inhibit_l_down = true; + lua_setfield(L, -2, "_MOUSE_L"); + trigger_inhibit_l = true; } - if (!inhibit_r_down && df::global::enabler->mouse_rbut_down) { + if (!inhibit_r && df::global::enabler->mouse_rbut) { lua_pushboolean(L, true); - lua_setfield(L, -2, "_MOUSE_R_DOWN"); - trigger_inhibit_r_down = true; + lua_setfield(L, -2, "_MOUSE_R"); + trigger_inhibit_r = true; } - if (!inhibit_m_down && df::global::enabler->mouse_mbut_down) { + if (!inhibit_m && df::global::enabler->mouse_mbut) { lua_pushboolean(L, true); - lua_setfield(L, -2, "_MOUSE_M_DOWN"); - trigger_inhibit_m_down = true; + lua_setfield(L, -2, "_MOUSE_M"); + trigger_inhibit_m = true; } - if (df::global::enabler->mouse_lbut) { + if (df::global::enabler->mouse_lbut_down) { lua_pushboolean(L, true); - lua_setfield(L, -2, "_MOUSE_L"); + lua_setfield(L, -2, "_MOUSE_L_DOWN"); } - if (df::global::enabler->mouse_rbut) { + if (df::global::enabler->mouse_rbut_down) { lua_pushboolean(L, true); - lua_setfield(L, -2, "_MOUSE_R"); + lua_setfield(L, -2, "_MOUSE_R_DOWN"); } - if (df::global::enabler->mouse_mbut) { + if (df::global::enabler->mouse_mbut_down) { lua_pushboolean(L, true); - lua_setfield(L, -2, "_MOUSE_M"); + lua_setfield(L, -2, "_MOUSE_M_DOWN"); } } } @@ -2159,25 +2159,25 @@ void DFHack::Lua::Core::Reset(color_ostream &out, const char *where) lua_settop(State, 0); } - if (trigger_inhibit_l_down) { - trigger_inhibit_l_down = false; - inhibit_l_down = true; + if (trigger_inhibit_l) { + trigger_inhibit_l = false; + inhibit_l = true; } - if (trigger_inhibit_r_down) { - trigger_inhibit_r_down = false; - inhibit_r_down = true; + if (trigger_inhibit_r) { + trigger_inhibit_r = false; + inhibit_r = true; } - if (trigger_inhibit_m_down) { - trigger_inhibit_m_down = false; - inhibit_m_down = true; + if (trigger_inhibit_m) { + trigger_inhibit_m = false; + inhibit_m = true; } if (df::global::enabler) { - if (!df::global::enabler->mouse_lbut) - inhibit_l_down = false; - if (!df::global::enabler->mouse_rbut) - inhibit_r_down = false; - if (!df::global::enabler->mouse_mbut) - inhibit_m_down = false; + if (!df::global::enabler->mouse_lbut_down) + inhibit_l = false; + if (!df::global::enabler->mouse_rbut_down) + inhibit_r = false; + if (!df::global::enabler->mouse_mbut_down) + inhibit_m = false; } } diff --git a/library/lua/gui.lua b/library/lua/gui.lua index bba7222b9..ba49e0cdc 100644 --- a/library/lua/gui.lua +++ b/library/lua/gui.lua @@ -696,16 +696,12 @@ end DEFAULT_INITIAL_PAUSE = true -local zscreen_inhibit_mouse_l = false - -- ensure underlying DF screens don't also react to handled clicks function markMouseClicksHandled(keys) - if keys._MOUSE_L_DOWN then - -- note we can't clear mouse_lbut here. otherwise we break dragging, - df.global.enabler.mouse_lbut_down = 0 - zscreen_inhibit_mouse_l = true + if keys._MOUSE_L then + df.global.enabler.mouse_lbut = 0 end - if keys._MOUSE_R_DOWN then + if keys._MOUSE_R then df.global.enabler.mouse_rbut_down = 0 df.global.enabler.mouse_rbut = 0 end @@ -789,7 +785,7 @@ function ZScreen:onInput(keys) local has_mouse = self:isMouseOver() if not self:hasFocus() then if has_mouse and - (keys._MOUSE_L_DOWN or keys._MOUSE_R_DOWN or + (keys._MOUSE_L or keys._MOUSE_R or keys.CONTEXT_SCROLL_UP or keys.CONTEXT_SCROLL_DOWN or keys.CONTEXT_SCROLL_PAGEUP or keys.CONTEXT_SCROLL_PAGEDOWN) then self:raise() @@ -804,22 +800,15 @@ function ZScreen:onInput(keys) return end - if self.pass_mouse_clicks and keys._MOUSE_L_DOWN and not has_mouse then + if self.pass_mouse_clicks and keys._MOUSE_L and not has_mouse then self.defocused = self.defocusable self:sendInputToParent(keys) return - elseif keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + elseif keys.LEAVESCREEN or keys._MOUSE_R then self:dismiss() markMouseClicksHandled(keys) return else - if zscreen_inhibit_mouse_l then - if keys._MOUSE_L then - return - else - zscreen_inhibit_mouse_l = false - end - end local passit = self.pass_pause and keys.D_PAUSE if not passit and self.pass_mouse_clicks then if keys.CONTEXT_SCROLL_UP or keys.CONTEXT_SCROLL_DOWN or diff --git a/library/lua/gui/dialogs.lua b/library/lua/gui/dialogs.lua index 499fa6305..95a56d0c4 100644 --- a/library/lua/gui/dialogs.lua +++ b/library/lua/gui/dialogs.lua @@ -57,11 +57,11 @@ function MessageBox:onDestroy() end function MessageBox:onInput(keys) - if keys.SELECT or keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + if keys.SELECT or keys.LEAVESCREEN or keys._MOUSE_R then self:dismiss() if keys.SELECT and self.on_accept then self.on_accept() - elseif (keys.LEAVESCREEN or keys._MOUSE_R_DOWN) and self.on_cancel then + elseif (keys.LEAVESCREEN or keys._MOUSE_R) and self.on_cancel then self.on_cancel() end gui.markMouseClicksHandled(keys) @@ -129,7 +129,7 @@ function InputBox:onInput(keys) self.on_input(self.subviews.edit.text) end return true - elseif keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + elseif keys.LEAVESCREEN or keys._MOUSE_R then self:dismiss() if self.on_cancel then self.on_cancel() @@ -231,7 +231,7 @@ function ListBox:getWantedFrameSize() end function ListBox:onInput(keys) - if keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + if keys.LEAVESCREEN or keys._MOUSE_R then self:dismiss() if self.on_cancel then self.on_cancel() diff --git a/library/lua/gui/widgets.lua b/library/lua/gui/widgets.lua index 6a0a0091b..05d237f35 100644 --- a/library/lua/gui/widgets.lua +++ b/library/lua/gui/widgets.lua @@ -273,7 +273,7 @@ end function Panel:onInput(keys) if self.kbd_get_pos then - if keys.SELECT or keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + if keys.SELECT or keys.LEAVESCREEN or keys._MOUSE_R then Panel_end_drag(self, not keys.SELECT and self.saved_frame or nil, not not keys.SELECT) return true @@ -281,7 +281,6 @@ function Panel:onInput(keys) for code in pairs(keys) do local dx, dy = guidm.get_movement_delta(code, 1, 10) if dx then - local frame_rect = self.frame_rect local kbd_pos = self.kbd_get_pos() kbd_pos.x = kbd_pos.x + dx kbd_pos.y = kbd_pos.y + dy @@ -292,9 +291,9 @@ function Panel:onInput(keys) return end if self.drag_offset then - if keys._MOUSE_R_DOWN then + if keys._MOUSE_R then Panel_end_drag(self, self.saved_frame) - elseif keys._MOUSE_L then + elseif keys._MOUSE_L_DOWN then Panel_update_frame(self, Panel_make_frame(self)) end return true @@ -302,7 +301,7 @@ function Panel:onInput(keys) if Panel.super.onInput(self, keys) then return true end - if not keys._MOUSE_L_DOWN then return end + if not keys._MOUSE_L then return end local x,y = self:getMouseFramePos() if not x then return end @@ -489,7 +488,7 @@ function Panel:onRenderFrame(dc, rect) dc:seek(pos.x, pos.y):pen(pen):char(string.char(0xDB)) end if self.drag_offset and not self.kbd_get_pos - and df.global.enabler.mouse_lbut == 0 then + and df.global.enabler.mouse_lbut_down == 0 then Panel_end_drag(self, nil, true) end end @@ -718,7 +717,7 @@ function EditField:onInput(keys) end end - if self.key and (keys.LEAVESCREEN or keys._MOUSE_R_DOWN) then + if self.key and (keys.LEAVESCREEN or keys._MOUSE_R) then self:setText(self.saved_text) self:setFocus(false) return true @@ -740,8 +739,8 @@ function EditField:onInput(keys) end end return not not self.key - elseif keys._MOUSE_L then - local mouse_x, mouse_y = self:getMousePos() + elseif keys._MOUSE_L_DOWN then + local mouse_x = self:getMousePos() if mouse_x then self:setCursor(self.start_pos + mouse_x - (self.text_offset or 0)) return true @@ -986,7 +985,7 @@ function Scrollbar:onRenderBody(dc) if self.is_dragging then scrollbar_do_drag(self) end - if df.global.enabler.mouse_lbut == 0 then + if df.global.enabler.mouse_lbut_down == 0 then self.last_scroll_ms = 0 self.is_dragging = false self.scroll_spec = nil @@ -1023,7 +1022,7 @@ function Scrollbar:onInput(keys) return true end end - if not keys._MOUSE_L_DOWN then return false end + if not keys._MOUSE_L then return false end local _,y = self:getMousePos() if not y then return false end local scroll_spec = nil @@ -1386,11 +1385,11 @@ function Label:onInput(keys) if self:inputToSubviews(keys) then return true end - if keys._MOUSE_L_DOWN and self:getMousePos() and self.on_click then + if keys._MOUSE_L and self:getMousePos() and self.on_click then self.on_click() return true end - if keys._MOUSE_R_DOWN and self:getMousePos() and self.on_rclick then + if keys._MOUSE_R and self:getMousePos() and self.on_rclick then self.on_rclick() return true end @@ -1498,7 +1497,7 @@ end function HotkeyLabel:onInput(keys) if HotkeyLabel.super.onInput(self, keys) then return true - elseif keys._MOUSE_L_DOWN and self:getMousePos() and self.on_activate + elseif keys._MOUSE_L and self:getMousePos() and self.on_activate and not is_disabled(self) then self.on_activate() return true @@ -1658,7 +1657,7 @@ end function CycleHotkeyLabel:onInput(keys) if CycleHotkeyLabel.super.onInput(self, keys) then return true - elseif keys._MOUSE_L_DOWN and self:getMousePos() and not is_disabled(self) then + elseif keys._MOUSE_L and self:getMousePos() and not is_disabled(self) then self:cycle() return true end @@ -1962,7 +1961,7 @@ function List:onInput(keys) return self:submit() elseif keys.CUSTOM_SHIFT_ENTER then return self:submit2() - elseif keys._MOUSE_L_DOWN then + elseif keys._MOUSE_L then local idx = self:getIdxUnderMouse() if idx then local now_ms = dfhack.getTickCount() @@ -2317,7 +2316,7 @@ end function Tab:onInput(keys) if Tab.super.onInput(self, keys) then return true end - if keys._MOUSE_L_DOWN and self:getMousePos() then + if keys._MOUSE_L and self:getMousePos() then self.on_select(self.id) return true end @@ -2419,7 +2418,7 @@ local function rangeslider_get_width_per_idx(self) end function RangeSlider:onInput(keys) - if not keys._MOUSE_L_DOWN then return false end + if not keys._MOUSE_L then return false end local x = self:getMousePos() if not x then return false end local left_idx, right_idx = self.get_left_idx_fn(), self.get_right_idx_fn() @@ -2527,7 +2526,7 @@ function RangeSlider:onRenderBody(dc, rect) if self.is_dragging_target then rangeslider_do_drag(self, width_per_idx) end - if df.global.enabler.mouse_lbut == 0 then + if df.global.enabler.mouse_lbut_down == 0 then self.is_dragging_target = nil self.is_dragging_idx = nil end diff --git a/library/modules/Screen.cpp b/library/modules/Screen.cpp index 5f98c40e5..a5b347493 100644 --- a/library/modules/Screen.cpp +++ b/library/modules/Screen.cpp @@ -1004,6 +1004,8 @@ dfhack_lua_viewscreen::~dfhack_lua_viewscreen() void dfhack_lua_viewscreen::render() { + using df::global::enabler; + if (Screen::isDismissed(this)) { if (parent) @@ -1011,6 +1013,14 @@ void dfhack_lua_viewscreen::render() return; } + if (enabler && + (enabler->mouse_lbut_down || enabler->mouse_rbut_down || enabler->mouse_mbut_down)) + { + // synthesize feed events for held mouse buttons + std::set keys; + feed(&keys); + } + dfhack_viewscreen::render(); safe_call_lua(do_render, 0, 0); diff --git a/plugins/lua/buildingplan/inspectoroverlay.lua b/plugins/lua/buildingplan/inspectoroverlay.lua index 1fcf19028..3c6f0ed5e 100644 --- a/plugins/lua/buildingplan/inspectoroverlay.lua +++ b/plugins/lua/buildingplan/inspectoroverlay.lua @@ -127,9 +127,9 @@ function InspectorOverlay:onInput(keys) if not require('plugins.buildingplan').isPlannedBuilding(dfhack.gui.getSelectedBuilding(true)) then return false end - if keys._MOUSE_L_DOWN and mouse_is_over_resume_button(self.frame_parent_rect) then + if keys._MOUSE_L and mouse_is_over_resume_button(self.frame_parent_rect) then return true - elseif keys._MOUSE_L_DOWN or keys._MOUSE_R_DOWN or keys.LEAVESCREEN then + elseif keys._MOUSE_L or keys._MOUSE_R or keys.LEAVESCREEN then self:reset() end return InspectorOverlay.super.onInput(self, keys) diff --git a/plugins/lua/buildingplan/itemselection.lua b/plugins/lua/buildingplan/itemselection.lua index 84e866502..9dfd0cc69 100644 --- a/plugins/lua/buildingplan/itemselection.lua +++ b/plugins/lua/buildingplan/itemselection.lua @@ -366,10 +366,10 @@ function ItemSelection:submit(choices) end function ItemSelection:onInput(keys) - if keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + if keys.LEAVESCREEN or keys._MOUSE_R then self.on_cancel() return true - elseif keys._MOUSE_L_DOWN then + elseif keys._MOUSE_L then local list = self.subviews.flist.list local idx = list:getIdxUnderMouse() if idx then diff --git a/plugins/lua/buildingplan/planneroverlay.lua b/plugins/lua/buildingplan/planneroverlay.lua index ebd8e6e02..2cc15dfde 100644 --- a/plugins/lua/buildingplan/planneroverlay.lua +++ b/plugins/lua/buildingplan/planneroverlay.lua @@ -272,7 +272,7 @@ function ItemLine:reset() end function ItemLine:onInput(keys) - if keys._MOUSE_L_DOWN and self:getMousePos() then + if keys._MOUSE_L and self:getMousePos() then self.on_select(self.idx) end return ItemLine.super.onInput(self, keys) @@ -739,7 +739,7 @@ end function PlannerOverlay:onInput(keys) if not is_plannable() then return false end - if keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + if keys.LEAVESCREEN or keys._MOUSE_R then if uibs.selection_pos:isValid() then uibs.selection_pos:clear() return true @@ -758,7 +758,7 @@ function PlannerOverlay:onInput(keys) return true end if self:is_minimized() then return false end - if keys._MOUSE_L_DOWN then + if keys._MOUSE_L then if is_over_options_panel() then return false end local detect_rect = copyall(self.frame_rect) detect_rect.height = self.subviews.main.frame_rect.height + @@ -828,7 +828,7 @@ function PlannerOverlay:onInput(keys) end end end - return keys._MOUSE_L or keys.SELECT + return keys._MOUSE_L_DOWN or keys.SELECT end function PlannerOverlay:render(dc) diff --git a/plugins/lua/hotkeys.lua b/plugins/lua/hotkeys.lua index 8eff17aae..80f8816e8 100644 --- a/plugins/lua/hotkeys.lua +++ b/plugins/lua/hotkeys.lua @@ -269,24 +269,24 @@ function Menu:onSubmit2(_, choice) end function Menu:onInput(keys) - if keys.LEAVESCREEN or keys._MOUSE_R_DOWN then + if keys.LEAVESCREEN or keys._MOUSE_R then return false elseif keys.KEYBOARD_CURSOR_RIGHT then self:onSubmit2(self.subviews.list:getSelected()) return true - elseif keys._MOUSE_L_DOWN then + elseif keys._MOUSE_L then local list = self.subviews.list local x = list:getMousePos() if x == 0 then -- clicked on icon self:onSubmit2(list:getSelected()) - df.global.enabler.mouse_lbut = 0 + gui.markMouseClicksHandled(keys) return true end if not self:getMouseFramePos() then self.parent_view:dismiss() return true end - df.global.enabler.mouse_lbut = 0 + gui.markMouseClicksHandled(keys) end self:inputToSubviews(keys) return true -- we're modal diff --git a/plugins/lua/overlay.lua b/plugins/lua/overlay.lua index d3f0b9c9d..cd5286d0d 100644 --- a/plugins/lua/overlay.lua +++ b/plugins/lua/overlay.lua @@ -507,9 +507,6 @@ function feed_viewscreen_widgets(vs_name, vs, keys) return false end gui.markMouseClicksHandled(keys) - if keys._MOUSE_L_DOWN then - df.global.enabler.mouse_lbut = 0 - end return true end diff --git a/plugins/lua/sort.lua b/plugins/lua/sort.lua index 778bc87b9..6d8c8a298 100644 --- a/plugins/lua/sort.lua +++ b/plugins/lua/sort.lua @@ -1148,9 +1148,7 @@ function SquadAssignmentOverlay:refresh_list(sort_widget, sort_fn) end function SquadAssignmentOverlay:onInput(keys) - if keys._MOUSE_R_DOWN or - keys._MOUSE_L_DOWN and not self:getMouseFramePos() - then + if keys._MOUSE_R or (keys._MOUSE_L and not self:getMouseFramePos()) then -- if any click is made outside of our window, we may need to refresh our list self.dirty = true end diff --git a/plugins/lua/zone.lua b/plugins/lua/zone.lua index 3c07b609f..13182cef1 100644 --- a/plugins/lua/zone.lua +++ b/plugins/lua/zone.lua @@ -801,10 +801,12 @@ end function AssignAnimalScreen:onInput(keys) local handled = AssignAnimalScreen.super.onInput(self, keys) if not self.is_valid_ui_state() then - view:dismiss() + if view then + view:dismiss() + end return end - if keys._MOUSE_L_DOWN then + if keys._MOUSE_L then -- if any click is made outside of our window, we need to recheck unit properties local window = self.subviews[1] if not window:getMouseFramePos() then @@ -818,7 +820,7 @@ function AssignAnimalScreen:onInput(keys) end function AssignAnimalScreen:onRenderFrame() - if not self.is_valid_ui_state() then + if view and not self.is_valid_ui_state() then view:dismiss() end end @@ -1072,6 +1074,7 @@ function CageChainOverlay:init() frame={t=0, l=0, r=0, h=1}, label='DFHack assign', key='CUSTOM_CTRL_T', + visible=is_valid_building, on_activate=function() view = view and view:raise() or show_cage_chain_screen() end, }, } diff --git a/test/library/gui/widgets.EditField.lua b/test/library/gui/widgets.EditField.lua index 88625a7bf..8418b67d4 100644 --- a/test/library/gui/widgets.EditField.lua +++ b/test/library/gui/widgets.EditField.lua @@ -42,17 +42,17 @@ function test.editfield_click() expect.eq(5, e.cursor) mock.patch(e, 'getMousePos', mock.func(0), function() - e:onInput{_MOUSE_L=true} + e:onInput{_MOUSE_L_DOWN=true} expect.eq(1, e.cursor) end) mock.patch(e, 'getMousePos', mock.func(20), function() - e:onInput{_MOUSE_L=true} + e:onInput{_MOUSE_L_DOWN=true} expect.eq(5, e.cursor, 'should only seek to end of text') end) mock.patch(e, 'getMousePos', mock.func(2), function() - e:onInput{_MOUSE_L=true} + e:onInput{_MOUSE_L_DOWN=true} expect.eq(3, e.cursor) end) end diff --git a/test/library/gui/widgets.Scrollbar.lua b/test/library/gui/widgets.Scrollbar.lua index 548792b3d..dd490256c 100644 --- a/test/library/gui/widgets.Scrollbar.lua +++ b/test/library/gui/widgets.Scrollbar.lua @@ -59,37 +59,37 @@ function test.onInput() s:update(23, 10, 50) expect.false_(s:onInput{}, 'no mouse down') - expect.false_(s:onInput{_MOUSE_L_DOWN=true}, 'no y coord') + expect.false_(s:onInput{_MOUSE_L=true}, 'no y coord') spec, y = nil, 0 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.eq('up_small', spec, 'on up arrow') spec, y = nil, 1 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.eq('up_large', spec, 'on body above bar') spec, y = nil, 44 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.eq('up_large', spec, 'on body just above bar') spec, y = nil, 45 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.nil_(spec, 'on top of bar') spec, y = nil, 63 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.nil_(spec, 'on bottom of bar') spec, y = nil, 64 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.eq('down_large', spec, 'on body just below bar') spec, y = nil, 98 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.eq('down_large', spec, 'on body below bar') spec, y = nil, 99 - expect.true_(s:onInput{_MOUSE_L_DOWN=true}) + expect.true_(s:onInput{_MOUSE_L=true}) expect.eq('down_small', spec, 'on down arrow') end diff --git a/test/library/gui/widgets.lua b/test/library/gui/widgets.lua index 88d3ac952..b37fbe04d 100644 --- a/test/library/gui/widgets.lua +++ b/test/library/gui/widgets.lua @@ -7,7 +7,7 @@ function test.hotkeylabel_click() local l = widgets.HotkeyLabel{key='SELECT', on_activate=func} mock.patch(l, 'getMousePos', mock.func(0), function() - l:onInput{_MOUSE_L_DOWN=true} + l:onInput{_MOUSE_L=true} expect.eq(1, func.call_count) end) end @@ -33,7 +33,7 @@ function test.togglehotkeylabel_click() local l = widgets.ToggleHotkeyLabel{} expect.true_(l:getOptionValue()) mock.patch(l, 'getMousePos', mock.func(0), function() - l:onInput{_MOUSE_L_DOWN=true} + l:onInput{_MOUSE_L=true} expect.false_(l:getOptionValue()) end) end From 888c88dfcf7399663ae4066dd419292c9e836b70 Mon Sep 17 00:00:00 2001 From: DFHack-Urist via GitHub Actions <63161697+DFHack-Urist@users.noreply.github.com> Date: Wed, 27 Sep 2023 02:23:08 +0000 Subject: [PATCH 58/70] Auto-update submodules library/xml: master scripts: master --- library/xml | 2 +- scripts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/library/xml b/library/xml index e6d83ccae..52fe6b277 160000 --- a/library/xml +++ b/library/xml @@ -1 +1 @@ -Subproject commit e6d83ccaee5b5a3c663b56046ae55a7389742da8 +Subproject commit 52fe6b27723ba7e3064ae03c1a7ae5712c3dc0ec diff --git a/scripts b/scripts index a8aacf9b3..4032be431 160000 --- a/scripts +++ b/scripts @@ -1 +1 @@ -Subproject commit a8aacf9b3e8d71c338f8d087792ee8aa39a85220 +Subproject commit 4032be431a669ac822583dc3ccca3c6c07c8e3aa From f5aab7ee45f2d14542b793a6972271d95e84408d Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Wed, 27 Sep 2023 20:32:46 +0100 Subject: [PATCH 59/70] pulled event handler calls out of the loops over global vectors to avoid potential iterator invalidation by an event callback, and did some tidying --- library/modules/EventManager.cpp | 279 ++++++++++++++++++------------- 1 file changed, 164 insertions(+), 115 deletions(-) diff --git a/library/modules/EventManager.cpp b/library/modules/EventManager.cpp index 02b1892e9..ddc46942d 100644 --- a/library/modules/EventManager.cpp +++ b/library/modules/EventManager.cpp @@ -43,6 +43,7 @@ #include #include #include +#include namespace DFHack { DBG_DECLARE(eventmanager, log, DebugCategory::LINFO); @@ -246,6 +247,15 @@ static int32_t reportToRelevantUnitsTime = -1; //interaction static int32_t lastReportInteraction; +struct hash_pair { + template + size_t operator()(const std::pair& p) const { + auto h1 = std::hash{}(p.first); + auto h2 = std::hash{}(p.second); + return h1 ^ (h2 << 1); + } +}; + void DFHack::EventManager::onStateChange(color_ostream& out, state_change_event event) { static bool doOnce = false; // const string eventNames[] = {"world loaded", "world unloaded", "map loaded", "map unloaded", "viewscreen changed", "core initialized", "begin unload", "paused", "unpaused"}; @@ -276,9 +286,9 @@ void DFHack::EventManager::onStateChange(color_ostream& out, state_change_event gameLoaded = false; multimap copy(handlers[EventType::UNLOAD].begin(), handlers[EventType::UNLOAD].end()); - for (auto &key_value : copy) { + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for map unloaded state change event\n"); - key_value.second.eventHandler(out, nullptr); + handle.eventHandler(out, nullptr); } } else if ( event == DFHack::SC_MAP_LOADED ) { /* @@ -375,8 +385,7 @@ void DFHack::EventManager::manageEvents(color_ostream& out) { continue; int32_t eventFrequency = -100; if ( a != EventType::TICK ) - for (auto &key_value : handlers[a]) { - EventHandler &handle = key_value.second; + for (auto &[_,handle] : handlers[a]) { if (handle.freq < eventFrequency || eventFrequency == -100 ) eventFrequency = handle.freq; } @@ -439,8 +448,7 @@ static void manageJobInitiatedEvent(color_ostream& out) { continue; if ( link->item->id <= lastJobId ) continue; - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for job initiated event\n"); handle.eventHandler(out, (void*)link->item); } @@ -455,18 +463,21 @@ static void manageJobStartedEvent(color_ostream& out) { static unordered_set startedJobs; + vector new_started_jobs; // iterate event handler callbacks multimap copy(handlers[EventType::JOB_STARTED].begin(), handlers[EventType::JOB_STARTED].end()); for (df::job_list_link* link = df::global::world->jobs.list.next; link != nullptr; link = link->next) { df::job* job = link->item; if (job && Job::getWorker(job) && !startedJobs.count(job->id)) { startedJobs.emplace(job->id); - for (auto &key_value : copy) { - auto &handler = key_value.second; - // the jobs must have a worker to start - DEBUG(log,out).print("calling handler for job started event\n"); - handler.eventHandler(out, job); - } + new_started_jobs.emplace_back(job); + } + } + for (df::job* job : new_started_jobs) { + for (auto &[_,handle] : copy) { + // the jobs must have a worker to start + DEBUG(log,out).print("calling handler for job started event\n"); + handle.eventHandler(out, job); } } } @@ -556,6 +567,8 @@ static void manageJobCompletedEvent(color_ostream& out) { } #endif + vector new_jobs_completed; + vector new_jobs_completed_repeats; for (auto &prevJob : prevJobs) { //if it happened within a tick, must have been cancelled by the user or a plugin: not completed if ( tick1 <= tick0 ) @@ -573,11 +586,7 @@ static void manageJobCompletedEvent(color_ostream& out) { continue; //still false positive if cancelled at EXACTLY the right time, but experiments show this doesn't happen - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; - DEBUG(log,out).print("calling handler for repeated job completed event\n"); - handle.eventHandler(out, (void*)&job0); - } + new_jobs_completed_repeats.emplace_back(&job0); continue; } @@ -586,10 +595,19 @@ static void manageJobCompletedEvent(color_ostream& out) { if ( job0.flags.bits.repeat || job0.completion_timer != 0 ) continue; - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; + new_jobs_completed.emplace_back(&job0); + } + + for (df::job* job : new_jobs_completed_repeats) { + for (auto &[_,handle] : copy) { + DEBUG(log,out).print("calling handler for repeated job completed event\n"); + handle.eventHandler(out, (void*) job); + } + } + for (df::job* job : new_jobs_completed) { + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for job completed event\n"); - handle.eventHandler(out, (void*)&job0); + handle.eventHandler(out, (void*) job); } } @@ -617,15 +635,17 @@ static void manageNewUnitActiveEvent(color_ostream& out) { multimap copy(handlers[EventType::UNIT_NEW_ACTIVE].begin(), handlers[EventType::UNIT_NEW_ACTIVE].end()); // iterate event handler callbacks - for (auto &key_value : copy) { - auto &handler = key_value.second; - for (df::unit* unit : df::global::world->units.active) { - int32_t id = unit->id; - if (!activeUnits.count(id)) { - activeUnits.emplace(id); - DEBUG(log,out).print("calling handler for new unit event\n"); - handler.eventHandler(out, (void*) intptr_t(id)); // intptr_t() avoids cast from smaller type warning - } + vector new_active_unit_ids; + for (df::unit* unit : df::global::world->units.active) { + if (!activeUnits.count(unit->id)) { + activeUnits.emplace(unit->id); + new_active_unit_ids.emplace_back(unit->id); + } + } + for (int32_t unit_id : new_active_unit_ids) { + for (auto &[_,handle] : copy) { + DEBUG(log,out).print("calling handler for new unit event\n"); + handle.eventHandler(out, (void*) intptr_t(unit_id)); // intptr_t() avoids cast from smaller type warning } } } @@ -635,6 +655,7 @@ static void manageUnitDeathEvent(color_ostream& out) { if (!df::global::world) return; multimap copy(handlers[EventType::UNIT_DEATH].begin(), handlers[EventType::UNIT_DEATH].end()); + vector dead_unit_ids; for (auto unit : df::global::world->units.all) { //if ( unit->counters.death_id == -1 ) { if ( Units::isActive(unit) ) { @@ -644,13 +665,15 @@ static void manageUnitDeathEvent(color_ostream& out) { //dead: if dead since last check, trigger events if ( livingUnits.find(unit->id) == livingUnits.end() ) continue; + livingUnits.erase(unit->id); + dead_unit_ids.emplace_back(unit->id); + } - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; + for (int32_t unit_id : dead_unit_ids) { + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for unit death event\n"); - handle.eventHandler(out, (void*)intptr_t(unit->id)); + handle.eventHandler(out, (void*)intptr_t(unit_id)); } - livingUnits.erase(unit->id); } } @@ -666,6 +689,8 @@ static void manageItemCreationEvent(color_ostream& out) { multimap copy(handlers[EventType::ITEM_CREATED].begin(), handlers[EventType::ITEM_CREATED].end()); size_t index = df::item::binsearch_index(df::global::world->items.all, nextItem, false); if ( index != 0 ) index--; + + std::vector created_items; for ( size_t a = index; a < df::global::world->items.all.size(); a++ ) { df::item* item = df::global::world->items.all[a]; //already processed @@ -683,12 +708,17 @@ static void manageItemCreationEvent(color_ostream& out) { //spider webs don't count if ( item->flags.bits.spider_web ) continue; - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; + created_items.push_back(item->id); + } + + // handle all created items + for (int32_t item_id : created_items) { + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for item created event\n"); - handle.eventHandler(out, (void*)intptr_t(item->id)); + handle.eventHandler(out, (void*)intptr_t(item_id)); } } + nextItem = *df::global::item_next_id; } @@ -703,6 +733,7 @@ static void manageBuildingEvent(color_ostream& out) { **/ multimap copy(handlers[EventType::BUILDING].begin(), handlers[EventType::BUILDING].end()); //first alert people about new buildings + vector new_buildings; for ( int32_t a = nextBuilding; a < *df::global::building_next_id; a++ ) { int32_t index = df::building::binsearch_index(df::global::world->buildings.all, a); if ( index == -1 ) { @@ -711,29 +742,32 @@ static void manageBuildingEvent(color_ostream& out) { continue; } buildings.insert(a); - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; - DEBUG(log,out).print("calling handler for created building event\n"); - handle.eventHandler(out, (void*)intptr_t(a)); - } + new_buildings.emplace_back(a); + } nextBuilding = *df::global::building_next_id; + std::for_each(new_buildings.begin(), new_buildings.end(), [&](int32_t building){ + for (auto &[_,handle] : copy) { + DEBUG(log,out).print("calling handler for created building event\n"); + handle.eventHandler(out, (void*)intptr_t(building)); + } + }); + //now alert people about destroyed buildings - for ( auto a = buildings.begin(); a != buildings.end(); ) { - int32_t id = *a; + for ( auto it = buildings.begin(); it != buildings.end(); ) { + int32_t id = *it; int32_t index = df::building::binsearch_index(df::global::world->buildings.all,id); if ( index != -1 ) { - a++; + ++it; continue; } - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for destroyed building event\n"); handle.eventHandler(out, (void*)intptr_t(id)); } - a = buildings.erase(a); + it = buildings.erase(it); } } @@ -743,35 +777,41 @@ static void manageConstructionEvent(color_ostream& out) { //unordered_set constructionsNow(df::global::world->constructions.begin(), df::global::world->constructions.end()); multimap copy(handlers[EventType::CONSTRUCTION].begin(), handlers[EventType::CONSTRUCTION].end()); - // find & send construction removals - for (auto iter = constructions.begin(); iter != constructions.end();) { - auto &construction = *iter; - // if we can't find it, it was removed - if (df::construction::find(construction.pos) != nullptr) { - ++iter; - continue; + + unordered_set next_construction_set; // will be swapped with constructions + next_construction_set.reserve(constructions.bucket_count()); + vector new_constructions; + + // find new constructions - swapping found constructions over from constructions to next_construction_set + for (auto c : df::global::world->constructions) { + auto &construction = *c; + auto it = constructions.find(construction); + if (it == constructions.end()) { + // handle new construction event later + new_constructions.emplace_back(construction); } - // send construction to handlers, because it was removed - for (const auto &key_value: copy) { - EventHandler handle = key_value.second; + else { + constructions.erase(it); + } + next_construction_set.emplace(construction); + } + + constructions.swap(next_construction_set); + + // now next_construction_set contains all the constructions that were removed (not found in df::global::world->constructions) + for (auto& construction : next_construction_set) { + // handle construction removed event + for (const auto &[_,handle]: copy) { DEBUG(log,out).print("calling handler for destroyed construction event\n"); handle.eventHandler(out, (void*) &construction); } - // erase from existent constructions - iter = constructions.erase(iter); } - // find & send construction additions - for (auto c: df::global::world->constructions) { - auto &construction = *c; - // add construction to constructions, if it isn't already present - if (constructions.emplace(construction).second) { - // send construction to handlers, because it is new - for (const auto &key_value: copy) { - EventHandler handle = key_value.second; - DEBUG(log,out).print("calling handler for created construction event\n"); - handle.eventHandler(out, (void*) &construction); - } + // now handle all the new constructions + for (auto& construction : new_constructions) { + for (const auto &[_,handle]: copy) { + DEBUG(log,out).print("calling handler for created construction event\n"); + handle.eventHandler(out, (void*) &construction); } } } @@ -781,6 +821,8 @@ static void manageSyndromeEvent(color_ostream& out) { return; multimap copy(handlers[EventType::SYNDROME].begin(), handlers[EventType::SYNDROME].end()); int32_t highestTime = -1; + + std::vector new_syndrome_data; for (auto unit : df::global::world->units.all) { /* @@ -795,14 +837,16 @@ static void manageSyndromeEvent(color_ostream& out) { if ( startTime <= lastSyndromeTime ) continue; - SyndromeData data(unit->id, b); - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; - DEBUG(log,out).print("calling handler for syndrome event\n"); - handle.eventHandler(out, (void*)&data); - } + new_syndrome_data.emplace_back(unit->id, b); + } + } + for (auto& data : new_syndrome_data) { + for (auto &[_,handle] : copy) { + DEBUG(log,out).print("calling handler for syndrome event\n"); + handle.eventHandler(out, (void*)&data); } } + lastSyndromeTime = highestTime; } @@ -815,8 +859,7 @@ static void manageInvasionEvent(color_ostream& out) { return; nextInvasion = df::global::plotinfo->invasions.next_id; - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for invasion event\n"); handle.eventHandler(out, (void*)intptr_t(nextInvasion-1)); } @@ -829,6 +872,11 @@ static void manageEquipmentEvent(color_ostream& out) { unordered_map itemIdToInventoryItem; unordered_set currentlyEquipped; + + vector equipment_pickups; + vector equipment_drops; + vector equipment_changes; + for (auto unit : df::global::world->units.all) { itemIdToInventoryItem.clear(); currentlyEquipped.clear(); @@ -856,12 +904,7 @@ static void manageEquipmentEvent(color_ostream& out) { auto c = itemIdToInventoryItem.find(dfitem_new->item->id); if ( c == itemIdToInventoryItem.end() ) { //new item equipped (probably just picked up) - InventoryChangeData data(unit->id, nullptr, &item_new); - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; - DEBUG(log,out).print("calling handler for new item equipped inventory change event\n"); - handle.eventHandler(out, (void*)&data); - } + equipment_pickups.emplace_back(unit->id, nullptr, &item_new); continue; } InventoryItem item_old = (*c).second; @@ -872,24 +915,14 @@ static void manageEquipmentEvent(color_ostream& out) { continue; //some sort of change in how it's equipped - InventoryChangeData data(unit->id, &item_old, &item_new); - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; - DEBUG(log,out).print("calling handler for inventory change event\n"); - handle.eventHandler(out, (void*)&data); - } + equipment_changes.emplace_back(unit->id, nullptr, &item_new); } //check for dropped items for (auto i : v) { if ( currentlyEquipped.find(i.itemId) != currentlyEquipped.end() ) continue; //TODO: delete ptr if invalid - InventoryChangeData data(unit->id, &i, nullptr); - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; - DEBUG(log,out).print("calling handler for dropped item inventory change event\n"); - handle.eventHandler(out, (void*)&data); - } + equipment_drops.emplace_back(unit->id, &i, nullptr); } if ( !hadEquipment ) delete temp; @@ -902,6 +935,26 @@ static void manageEquipmentEvent(color_ostream& out) { equipment.push_back(item); } } + + // now handle events + std::for_each(equipment_pickups.begin(), equipment_drops.end(), [&](InventoryChangeData& data) { + for (auto &[_, handle] : copy) { + DEBUG(log,out).print("calling handler for new item equipped inventory change event\n"); + handle.eventHandler(out, (void*) &data); + } + }); + std::for_each(equipment_drops.begin(), equipment_drops.end(), [&](InventoryChangeData& data) { + for (auto &[_, handle] : copy) { + DEBUG(log,out).print("calling handler for dropped item inventory change event\n"); + handle.eventHandler(out, (void*) &data); + } + }); + std::for_each(equipment_changes.begin(), equipment_changes.end(), [&](InventoryChangeData& data) { + for (auto &[_, handle] : copy) { + DEBUG(log,out).print("calling handler for inventory change event\n"); + handle.eventHandler(out, (void*) &data); + } + }); } static void updateReportToRelevantUnits() { @@ -939,8 +992,7 @@ static void manageReportEvent(color_ostream& out) { for ( ; idx < reports.size(); idx++ ) { df::report* report = reports[idx]; - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for report event\n"); handle.eventHandler(out, (void*)intptr_t(report->id)); } @@ -981,7 +1033,7 @@ static void manageUnitAttackEvent(color_ostream& out) { if ( strikeReports.empty() ) return; updateReportToRelevantUnits(); - map > alreadyDone; + unordered_set, hash_pair> already_done; for (int reportId : strikeReports) { df::report* report = df::report::find(reportId); if ( !report ) @@ -1011,27 +1063,25 @@ static void manageUnitAttackEvent(color_ostream& out) { UnitAttackData data{}; data.report_id = report->id; - if ( wound1 && !alreadyDone[unit1->id][unit2->id] ) { + if ( wound1 && already_done.find(std::make_pair(unit1->id,unit2->id)) == already_done.end() ) { data.attacker = unit1->id; data.defender = unit2->id; data.wound = wound1->id; - alreadyDone[data.attacker][data.defender] = 1; - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; + already_done.emplace(unit1->id, unit2->id); + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for unit1 attack unit attack event\n"); handle.eventHandler(out, (void*)&data); } } - if ( wound2 && !alreadyDone[unit1->id][unit2->id] ) { + if ( wound2 && already_done.find(std::make_pair(unit1->id,unit2->id)) == already_done.end() ) { data.attacker = unit2->id; data.defender = unit1->id; data.wound = wound2->id; - alreadyDone[data.attacker][data.defender] = 1; - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; + already_done.emplace(unit1->id, unit2->id); + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for unit2 attack unit attack event\n"); handle.eventHandler(out, (void*)&data); } @@ -1041,9 +1091,9 @@ static void manageUnitAttackEvent(color_ostream& out) { data.attacker = unit2->id; data.defender = unit1->id; data.wound = -1; - alreadyDone[data.attacker][data.defender] = 1; - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; + + already_done.emplace(unit1->id, unit2->id); + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for unit1 killed unit attack event\n"); handle.eventHandler(out, (void*)&data); } @@ -1053,9 +1103,9 @@ static void manageUnitAttackEvent(color_ostream& out) { data.attacker = unit1->id; data.defender = unit2->id; data.wound = -1; - alreadyDone[data.attacker][data.defender] = 1; - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; + + already_done.emplace(unit1->id, unit2->id); + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for unit2 killed unit attack event\n"); handle.eventHandler(out, (void*)&data); } @@ -1313,8 +1363,7 @@ static void manageInteractionEvent(color_ostream& out) { lastAttacker = df::unit::find(data.attacker); //lastDefender = df::unit::find(data.defender); //fire event - for (auto &key_value : copy) { - EventHandler &handle = key_value.second; + for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for interaction event\n"); handle.eventHandler(out, (void*)&data); } From 78bea2a55089d08173d955a750fd778cc214c4f8 Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Wed, 27 Sep 2023 23:34:19 +0100 Subject: [PATCH 60/70] fixed a typo brain fart moment --- library/modules/EventManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/modules/EventManager.cpp b/library/modules/EventManager.cpp index ddc46942d..cb3f3e76f 100644 --- a/library/modules/EventManager.cpp +++ b/library/modules/EventManager.cpp @@ -937,7 +937,7 @@ static void manageEquipmentEvent(color_ostream& out) { } // now handle events - std::for_each(equipment_pickups.begin(), equipment_drops.end(), [&](InventoryChangeData& data) { + std::for_each(equipment_pickups.begin(), equipment_pickups.end(), [&](InventoryChangeData& data) { for (auto &[_, handle] : copy) { DEBUG(log,out).print("calling handler for new item equipped inventory change event\n"); handle.eventHandler(out, (void*) &data); From d44499b970fc7fe0b4581b117ca8a0a7e9d85407 Mon Sep 17 00:00:00 2001 From: DFHack-Urist via GitHub Actions <63161697+DFHack-Urist@users.noreply.github.com> Date: Thu, 28 Sep 2023 07:13:26 +0000 Subject: [PATCH 61/70] Auto-update submodules library/xml: master scripts: master --- library/xml | 2 +- scripts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/library/xml b/library/xml index 52fe6b277..9312906c5 160000 --- a/library/xml +++ b/library/xml @@ -1 +1 @@ -Subproject commit 52fe6b27723ba7e3064ae03c1a7ae5712c3dc0ec +Subproject commit 9312906c5a33feea50c0c32cd683ad22fb87822c diff --git a/scripts b/scripts index 4032be431..76f5a2b10 160000 --- a/scripts +++ b/scripts @@ -1 +1 @@ -Subproject commit 4032be431a669ac822583dc3ccca3c6c07c8e3aa +Subproject commit 76f5a2b101f0817857c9dfa8dd3d9f076137aafc From 70ff728fba68e18d1eb4f0a3146dbc9146d4eaaf Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Thu, 28 Sep 2023 16:19:32 +0100 Subject: [PATCH 62/70] manageJobStartedEvent handle moved to inner loop and iterates from previous in linked list in case it is removed. fix a bug with item change events and using invalidated stack pointer as item data. swapped order of destroyed and created building event calls, and a couple other improvements --- library/modules/EventManager.cpp | 98 ++++++++++++++++++-------------- 1 file changed, 56 insertions(+), 42 deletions(-) diff --git a/library/modules/EventManager.cpp b/library/modules/EventManager.cpp index cb3f3e76f..14fac42b3 100644 --- a/library/modules/EventManager.cpp +++ b/library/modules/EventManager.cpp @@ -466,18 +466,22 @@ static void manageJobStartedEvent(color_ostream& out) { vector new_started_jobs; // iterate event handler callbacks multimap copy(handlers[EventType::JOB_STARTED].begin(), handlers[EventType::JOB_STARTED].end()); - for (df::job_list_link* link = df::global::world->jobs.list.next; link != nullptr; link = link->next) { - df::job* job = link->item; + + for (df::job_list_link* link = &df::global::world->jobs.list; link->next != nullptr; link = link->next) { + df::job* job = link->next->item; + int32_t j_id = job->id; if (job && Job::getWorker(job) && !startedJobs.count(job->id)) { startedJobs.emplace(job->id); - new_started_jobs.emplace_back(job); + for (auto &[_,handle] : copy) { + // the jobs must have a worker to start + DEBUG(log,out).print("calling handler for job started event\n"); + handle.eventHandler(out, job); + } } - } - for (df::job* job : new_started_jobs) { - for (auto &[_,handle] : copy) { - // the jobs must have a worker to start - DEBUG(log,out).print("calling handler for job started event\n"); - handle.eventHandler(out, job); + if (link->next == nullptr || link->next->item->id != j_id) { + if ( Once::doOnce("EventManager jobstarted job removed") ) { + out.print("%s,%d: job %u removed from jobs linked list\n", __FILE__, __LINE__, j_id); + } } } } @@ -498,11 +502,11 @@ static void manageJobCompletedEvent(color_ostream& out) { int32_t tick1 = df::global::world->frame_counter; multimap copy(handlers[EventType::JOB_COMPLETED].begin(), handlers[EventType::JOB_COMPLETED].end()); - map nowJobs; + unordered_map nowJobs; for ( df::job_list_link* link = &df::global::world->jobs.list; link != nullptr; link = link->next ) { if ( link->item == nullptr ) continue; - nowJobs[link->item->id] = link->item; + nowJobs.emplace(link->item->id, link->item); } #if 0 @@ -567,8 +571,6 @@ static void manageJobCompletedEvent(color_ostream& out) { } #endif - vector new_jobs_completed; - vector new_jobs_completed_repeats; for (auto &prevJob : prevJobs) { //if it happened within a tick, must have been cancelled by the user or a plugin: not completed if ( tick1 <= tick0 ) @@ -586,7 +588,10 @@ static void manageJobCompletedEvent(color_ostream& out) { continue; //still false positive if cancelled at EXACTLY the right time, but experiments show this doesn't happen - new_jobs_completed_repeats.emplace_back(&job0); + for (auto &[_,handle] : copy) { + DEBUG(log,out).print("calling handler for repeated job completed event\n"); + handle.eventHandler(out, (void*) &job0); + } continue; } @@ -595,37 +600,27 @@ static void manageJobCompletedEvent(color_ostream& out) { if ( job0.flags.bits.repeat || job0.completion_timer != 0 ) continue; - new_jobs_completed.emplace_back(&job0); - } - - for (df::job* job : new_jobs_completed_repeats) { - for (auto &[_,handle] : copy) { - DEBUG(log,out).print("calling handler for repeated job completed event\n"); - handle.eventHandler(out, (void*) job); - } - } - for (df::job* job : new_jobs_completed) { for (auto &[_,handle] : copy) { DEBUG(log,out).print("calling handler for job completed event\n"); - handle.eventHandler(out, (void*) job); + handle.eventHandler(out, (void*) &job0); } } //erase old jobs, copy over possibly altered jobs - for (auto &prevJob : prevJobs) { - Job::deleteJobStruct(prevJob.second, true); + for (auto &[_,prev_job] : prevJobs) { + Job::deleteJobStruct(prev_job, true); } prevJobs.clear(); //create new jobs - for (auto &nowJob : nowJobs) { + for (auto &[_,now_job] : nowJobs) { /*map::iterator i = prevJobs.find((*j).first); if ( i != prevJobs.end() ) { continue; }*/ - df::job* newJob = Job::cloneJobStruct(nowJob.second, true); - prevJobs[newJob->id] = newJob; + df::job* newJob = Job::cloneJobStruct(now_job, true); + prevJobs.emplace(newJob->id, newJob); } } @@ -662,6 +657,7 @@ static void manageUnitDeathEvent(color_ostream& out) { livingUnits.insert(unit->id); continue; } + if (!Units::isDead(unit)) continue; // for units that have left the map but aren't dead //dead: if dead since last check, trigger events if ( livingUnits.find(unit->id) == livingUnits.end() ) continue; @@ -747,13 +743,6 @@ static void manageBuildingEvent(color_ostream& out) { } nextBuilding = *df::global::building_next_id; - std::for_each(new_buildings.begin(), new_buildings.end(), [&](int32_t building){ - for (auto &[_,handle] : copy) { - DEBUG(log,out).print("calling handler for created building event\n"); - handle.eventHandler(out, (void*)intptr_t(building)); - } - }); - //now alert people about destroyed buildings for ( auto it = buildings.begin(); it != buildings.end(); ) { int32_t id = *it; @@ -769,6 +758,14 @@ static void manageBuildingEvent(color_ostream& out) { } it = buildings.erase(it); } + + //alert people about newly created buildings + std::for_each(new_buildings.begin(), new_buildings.end(), [&](int32_t building){ + for (auto &[_,handle] : copy) { + DEBUG(log,out).print("calling handler for created building event\n"); + handle.eventHandler(out, (void*)intptr_t(building)); + } + }); } static void manageConstructionEvent(color_ostream& out) { @@ -877,6 +874,13 @@ static void manageEquipmentEvent(color_ostream& out) { vector equipment_drops; vector equipment_changes; + + // This vector stores the pointers to newly created changed items + // needed as the stack allocated temporary (in the loop) is lost when we go to + // handle the event calls, so we move that data to the heap if its needed, + // and then once we are done we delete everything. + vector changed_items; + for (auto unit : df::global::world->units.all) { itemIdToInventoryItem.clear(); currentlyEquipped.clear(); @@ -904,25 +908,30 @@ static void manageEquipmentEvent(color_ostream& out) { auto c = itemIdToInventoryItem.find(dfitem_new->item->id); if ( c == itemIdToInventoryItem.end() ) { //new item equipped (probably just picked up) - equipment_pickups.emplace_back(unit->id, nullptr, &item_new); + changed_items.emplace_back(new InventoryItem(item_new)); + equipment_pickups.emplace_back(unit->id, nullptr, changed_items.back()); continue; } - InventoryItem item_old = (*c).second; + InventoryItem item_old = c->second; df::unit_inventory_item& item0 = item_old.item; df::unit_inventory_item& item1 = item_new.item; if ( item0.mode == item1.mode && item0.body_part_id == item1.body_part_id && item0.wound_id == item1.wound_id ) continue; //some sort of change in how it's equipped - - equipment_changes.emplace_back(unit->id, nullptr, &item_new); + changed_items.emplace_back(new InventoryItem(item_new)); + InventoryItem* item_new_ptr = changed_items.back(); + changed_items.emplace_back(new InventoryItem(item_old)); + InventoryItem* item_old_ptr = changed_items.back(); + equipment_changes.emplace_back(unit->id, item_old_ptr, item_new_ptr); } //check for dropped items for (auto i : v) { if ( currentlyEquipped.find(i.itemId) != currentlyEquipped.end() ) continue; //TODO: delete ptr if invalid - equipment_drops.emplace_back(unit->id, &i, nullptr); + changed_items.emplace_back(new InventoryItem(i)); + equipment_drops.emplace_back(unit->id, changed_items.back(), nullptr); } if ( !hadEquipment ) delete temp; @@ -955,6 +964,11 @@ static void manageEquipmentEvent(color_ostream& out) { handle.eventHandler(out, (void*) &data); } }); + + // clean up changed items list + std::for_each(changed_items.begin(), changed_items.end(), [](InventoryItem* p){ + delete p; + }); } static void updateReportToRelevantUnits() { From 09129ddec06dac85e919a515f1b0fef55fa9e458 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Thu, 28 Sep 2023 13:56:11 -0700 Subject: [PATCH 63/70] brighten ascii logo on hover as was originally intended. why is fg "de-bolded" by pens? --- docs/changelog.txt | 1 + plugins/lua/hotkeys.lua | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/changelog.txt b/docs/changelog.txt index aec12a96f..1859a7f79 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -60,6 +60,7 @@ Template for new versions: ## Misc Improvements - `dig`: `digtype` command now has options to choose between designating only visible tiles or hidden tiles, as well as "auto" dig mode. Z-level options adjusted to allow choosing z-levels above, below, or the same as the cursor. +- `hotkeys`: make the DFHack logo brighten on hover in ascii mode to indicate that it is clickable ## Documentation diff --git a/plugins/lua/hotkeys.lua b/plugins/lua/hotkeys.lua index 80f8816e8..71fda3d86 100644 --- a/plugins/lua/hotkeys.lua +++ b/plugins/lua/hotkeys.lua @@ -65,6 +65,7 @@ function HotspotMenuWidget:init() tile=function() return dfhack.textures.getTexposByHandle(logo_hovered_textures[idx]) end, ch=ch, fg=COLOR_WHITE, + bold=true, } end local function get_tile_token(idx, ch) From bff1b5e7b09cf77cb51a4bb2ef8e0596aaf6a9d2 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Thu, 28 Sep 2023 14:41:30 -0700 Subject: [PATCH 64/70] make the ascii DFHack logo easier to read --- docs/changelog.txt | 1 + plugins/lua/hotkeys.lua | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index 1859a7f79..0c6b35fab 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -61,6 +61,7 @@ Template for new versions: ## Misc Improvements - `dig`: `digtype` command now has options to choose between designating only visible tiles or hidden tiles, as well as "auto" dig mode. Z-level options adjusted to allow choosing z-levels above, below, or the same as the cursor. - `hotkeys`: make the DFHack logo brighten on hover in ascii mode to indicate that it is clickable +- `hotkeys`: use vertical bars instead of "!" symbols for the DFHack logo to make it easier to read ## Documentation diff --git a/plugins/lua/hotkeys.lua b/plugins/lua/hotkeys.lua index 71fda3d86..6335de5e5 100644 --- a/plugins/lua/hotkeys.lua +++ b/plugins/lua/hotkeys.lua @@ -79,9 +79,9 @@ function HotspotMenuWidget:init() self:addviews{ widgets.Label{ text={ - get_tile_token(1, '!'), get_tile_token(2, 'D'), get_tile_token(3, 'F'), get_tile_token(4, '!'), NEWLINE, - get_tile_token(5, '!'), get_tile_token(6, 'H'), get_tile_token(7, 'a'), get_tile_token(8, '!'), NEWLINE, - get_tile_token(9, '!'), get_tile_token(10, 'c'), get_tile_token(11, 'k'), get_tile_token(12, '!'), + get_tile_token(1, 179), get_tile_token(2, 'D'), get_tile_token(3, 'F'), get_tile_token(4, 179), NEWLINE, + get_tile_token(5, 179), get_tile_token(6, 'H'), get_tile_token(7, 'a'), get_tile_token(8, 179), NEWLINE, + get_tile_token(9, 179), get_tile_token(10, 'c'), get_tile_token(11, 'k'), get_tile_token(12, 179), }, on_click=function() dfhack.run_command('hotkeys') end, }, From 13f83d2f95104bb03f8c8a4eb09b29e393506797 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Thu, 28 Sep 2023 16:35:29 -0700 Subject: [PATCH 65/70] protect against bad values in TranslateName --- docs/changelog.txt | 1 + library/modules/Translation.cpp | 49 +++++++++++++++++++++++++++------ plugins/autoslab.cpp | 20 +------------- 3 files changed, 42 insertions(+), 28 deletions(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index 1859a7f79..c9e24e70f 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -60,6 +60,7 @@ Template for new versions: ## Misc Improvements - `dig`: `digtype` command now has options to choose between designating only visible tiles or hidden tiles, as well as "auto" dig mode. Z-level options adjusted to allow choosing z-levels above, below, or the same as the cursor. +- ``dfhack.TranslateName``: protect against bad language indices added by mods - `hotkeys`: make the DFHack logo brighten on hover in ascii mode to indicate that it is clickable ## Documentation diff --git a/library/modules/Translation.cpp b/library/modules/Translation.cpp index 282039c02..af06eeb49 100644 --- a/library/modules/Translation.cpp +++ b/library/modules/Translation.cpp @@ -131,6 +131,37 @@ void Translation::setNickname(df::language_name *name, std::string nick) } } +static string translate_word(const df::language_name * name, size_t word_idx) { + CHECK_NULL_POINTER(name); + + auto translation = vector_get(world->raws.language.translations, name->language); + if (!translation) + return ""; + + auto word = vector_get(translation->words, word_idx); + if (!word) + return ""; + + return *word; +} + +static string translate_english_word(const df::language_name * name, size_t part_idx) { + CHECK_NULL_POINTER(name); + + if (part_idx >= 7) + return ""; + + auto words = vector_get(world->raws.language.words, name->words[part_idx]); + if (!words) + return ""; + + df::part_of_speech part = name->parts_of_speech[part_idx]; + if (part < df::part_of_speech::Noun || part > df::part_of_speech::VerbGerund) + return ""; + + return words->forms[part]; +} + string Translation::TranslateName(const df::language_name * name, bool inEnglish, bool onlyLastPart) { CHECK_NULL_POINTER(name); @@ -166,20 +197,20 @@ string Translation::TranslateName(const df::language_name * name, bool inEnglish { word.clear(); if (name->words[0] >= 0) - word.append(*world->raws.language.translations[name->language]->words[name->words[0]]); + word.append(translate_word(name, name->words[0])); if (name->words[1] >= 0) - word.append(*world->raws.language.translations[name->language]->words[name->words[1]]); + word.append(translate_word(name, name->words[1])); addNameWord(out, word); } word.clear(); for (int i = 2; i <= 5; i++) if (name->words[i] >= 0) - word.append(*world->raws.language.translations[name->language]->words[name->words[i]]); + word.append(translate_word(name, name->words[i])); addNameWord(out, word); if (name->words[6] >= 0) { word.clear(); - word.append(*world->raws.language.translations[name->language]->words[name->words[6]]); + word.append(translate_word(name, name->words[6])); addNameWord(out, word); } } @@ -189,9 +220,9 @@ string Translation::TranslateName(const df::language_name * name, bool inEnglish { word.clear(); if (name->words[0] >= 0) - word.append(world->raws.language.words[name->words[0]]->forms[name->parts_of_speech[0]]); + word.append(translate_english_word(name, 0)); if (name->words[1] >= 0) - word.append(world->raws.language.words[name->words[1]]->forms[name->parts_of_speech[1]]); + word.append(translate_english_word(name, 1)); addNameWord(out, word); } if (name->words[2] >= 0 || name->words[3] >= 0 || name->words[4] >= 0 || name->words[5] >= 0) @@ -201,10 +232,10 @@ string Translation::TranslateName(const df::language_name * name, bool inEnglish else out.append("The"); } - for (int i = 2; i <= 5; i++) + for (size_t i = 2; i <= 5; i++) { if (name->words[i] >= 0) - addNameWord(out, world->raws.language.words[name->words[i]]->forms[name->parts_of_speech[i]]); + addNameWord(out, translate_english_word(name, i)); } if (name->words[6] >= 0) { @@ -213,7 +244,7 @@ string Translation::TranslateName(const df::language_name * name, bool inEnglish else out.append("Of"); - addNameWord(out, world->raws.language.words[name->words[6]]->forms[name->parts_of_speech[6]]); + addNameWord(out, translate_english_word(name, 6)); } } diff --git a/plugins/autoslab.cpp b/plugins/autoslab.cpp index e78314bfd..32382a217 100644 --- a/plugins/autoslab.cpp +++ b/plugins/autoslab.cpp @@ -151,24 +151,6 @@ DFhackCExport command_result plugin_onupdate(color_ostream &out) return CR_OK; } -// Name functions taken from manipulator.cpp -static std::string get_first_name(df::unit *unit) -{ - return Translation::capitalize(unit->name.first_name); -} - -static std::string get_last_name(df::unit *unit) -{ - df::language_name name = unit->name; - std::string ret = ""; - for (int i = 0; i < 2; i++) - { - if (name.words[i] >= 0) - ret += *world->raws.language.translations[name.language]->words[name.words[i]]; - } - return Translation::capitalize(ret); -} - // Queue up a single order to engrave the slab for the given unit static void createSlabJob(df::unit *unit) { @@ -212,7 +194,7 @@ static void checkslabs(color_ostream &out) ) { createSlabJob(ghost); - auto fullName = get_first_name(ghost) + " " + get_last_name(ghost); + auto fullName = Translation::capitalize(Translation::TranslateName(&ghost->name, false), true); out.print("Added slab order for ghost %s\n", fullName.c_str()); } } From af65f185a1be7cf992fc17fe5d8d58dd9fa77855 Mon Sep 17 00:00:00 2001 From: Myk Date: Thu, 28 Sep 2023 17:43:06 -0700 Subject: [PATCH 66/70] Remove unneeded capitalize --- plugins/autoslab.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/autoslab.cpp b/plugins/autoslab.cpp index 32382a217..82333c822 100644 --- a/plugins/autoslab.cpp +++ b/plugins/autoslab.cpp @@ -194,7 +194,7 @@ static void checkslabs(color_ostream &out) ) { createSlabJob(ghost); - auto fullName = Translation::capitalize(Translation::TranslateName(&ghost->name, false), true); + auto fullName = Translation::TranslateName(&ghost->name, false); out.print("Added slab order for ghost %s\n", fullName.c_str()); } } From e1bf8c47fa2ec7bb30e6b07c4ac056b7e83aa098 Mon Sep 17 00:00:00 2001 From: Myk Date: Thu, 28 Sep 2023 20:12:40 -0700 Subject: [PATCH 67/70] Update docs/changelog.txt Co-authored-by: Alan --- docs/changelog.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index c9e24e70f..d6377e1ec 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -60,7 +60,7 @@ Template for new versions: ## Misc Improvements - `dig`: `digtype` command now has options to choose between designating only visible tiles or hidden tiles, as well as "auto" dig mode. Z-level options adjusted to allow choosing z-levels above, below, or the same as the cursor. -- ``dfhack.TranslateName``: protect against bad language indices added by mods +- ``dfhack.TranslateName()``: fixed crash on certain invalid names, which affected `warn-starving` - `hotkeys`: make the DFHack logo brighten on hover in ascii mode to indicate that it is clickable ## Documentation From 965c453b9b7c701b7fef5338bf53693210c09d11 Mon Sep 17 00:00:00 2001 From: Myk Date: Thu, 28 Sep 2023 20:13:55 -0700 Subject: [PATCH 68/70] Update changelog.txt --- docs/changelog.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.txt b/docs/changelog.txt index d6377e1ec..7f1944d08 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -57,10 +57,10 @@ Template for new versions: ## Fixes - `autolabor`: now unconditionally re-enables vanilla work details when the fort or the plugin is unloaded +- ``dfhack.TranslateName()``: fixed crash on certain invalid names, which affected `warn-starving` ## Misc Improvements - `dig`: `digtype` command now has options to choose between designating only visible tiles or hidden tiles, as well as "auto" dig mode. Z-level options adjusted to allow choosing z-levels above, below, or the same as the cursor. -- ``dfhack.TranslateName()``: fixed crash on certain invalid names, which affected `warn-starving` - `hotkeys`: make the DFHack logo brighten on hover in ascii mode to indicate that it is clickable ## Documentation From feaf0d6bb35d1e81bb7f70a40c4512913687a914 Mon Sep 17 00:00:00 2001 From: Najeeb Al-Shabibi Date: Fri, 29 Sep 2023 15:36:16 +0100 Subject: [PATCH 69/70] update changelog --- docs/changelog.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/changelog.txt b/docs/changelog.txt index f819587de..315f37841 100644 --- a/docs/changelog.txt +++ b/docs/changelog.txt @@ -58,11 +58,14 @@ Template for new versions: ## Fixes - `autolabor`: now unconditionally re-enables vanilla work details when the fort or the plugin is unloaded - ``dfhack.TranslateName()``: fixed crash on certain invalid names, which affected `warn-starving` +- EventManager: Unit death event no longer misfires on units leaving the map ## Misc Improvements - `dig`: `digtype` command now has options to choose between designating only visible tiles or hidden tiles, as well as "auto" dig mode. Z-level options adjusted to allow choosing z-levels above, below, or the same as the cursor. - `hotkeys`: make the DFHack logo brighten on hover in ascii mode to indicate that it is clickable - `hotkeys`: use vertical bars instead of "!" symbols for the DFHack logo to make it easier to read +- EventManager: guarded against potential iterator invalidation if one of the event listeners modified the global data structure being iterated over +- EventManager: changed firing order of building created and building destroyed events to improve performance in the building location cache. ## Documentation From a52386474ae7b8133ec5b9761f71be13152d2b39 Mon Sep 17 00:00:00 2001 From: DFHack-Urist via GitHub Actions <63161697+DFHack-Urist@users.noreply.github.com> Date: Fri, 29 Sep 2023 16:42:47 +0000 Subject: [PATCH 70/70] Auto-update submodules scripts: master --- scripts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts b/scripts index 76f5a2b10..73eac0413 160000 --- a/scripts +++ b/scripts @@ -1 +1 @@ -Subproject commit 76f5a2b101f0817857c9dfa8dd3d9f076137aafc +Subproject commit 73eac04134b3e7d89b7be1bc355dddab38c5656d