diff --git a/library/DFProcess-SHM.cpp b/library/DFProcess-SHM.cpp index dd5a92910..2168a93c2 100644 --- a/library/DFProcess-SHM.cpp +++ b/library/DFProcess-SHM.cpp @@ -22,6 +22,7 @@ must not be misrepresented as being the original software. distribution. */ #include "Internal.h" +#include "PlatformInternal.h" #include #include #include diff --git a/library/DFProcess-windows-SHM.cpp b/library/DFProcess-windows-SHM.cpp index 3af447410..493af5a98 100644 --- a/library/DFProcess-windows-SHM.cpp +++ b/library/DFProcess-windows-SHM.cpp @@ -22,6 +22,13 @@ must not be misrepresented as being the original software. distribution. */ #include "Internal.h" +#include "PlatformInternal.h" +#include +#include +#include +#include +using namespace std; + #include "SHMProcess.h" #include "dfhack/VersionInfo.h" #include "dfhack/DFError.h" diff --git a/library/DFProcess-windows.cpp b/library/DFProcess-windows.cpp index 2762bde35..39a7ecfd8 100644 --- a/library/DFProcess-windows.cpp +++ b/library/DFProcess-windows.cpp @@ -22,11 +22,17 @@ must not be misrepresented as being the original software. distribution. */ #include "Internal.h" +#include "PlatformInternal.h" +#include +#include +#include +#include +using namespace std; + #include "ProcessFactory.h" #include "MicrosoftSTL.h" #include "dfhack/VersionInfo.h" #include "dfhack/DFError.h" -#include using namespace DFHack; namespace diff --git a/library/DFTileTypes_C.cpp b/library/DFTileTypes_C.cpp new file mode 100644 index 000000000..0745a9994 --- /dev/null +++ b/library/DFTileTypes_C.cpp @@ -0,0 +1,66 @@ +/* +www.sourceforge.net/projects/dfhack +Copyright (c) 2009 Petr Mrázek (peterix), Kenneth Ferland (Impaler[WrG]), dorf, doomchild + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any +damages arising from the use of this software. + +Permission is granted to anyone to use this software for any +purpose, including commercial applications, and to alter it and +redistribute it freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must +not claim that you wrote the original software. If you use this +software in a product, an acknowledgment in the product documentation +would be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and +must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source +distribution. +*/ + +#include "Internal.h" +#include "dfhack/DFTileTypes.h" +#include "dfhack-c/DFTileTypes_C.h" + +int DFHack_isWallTerrain(int in) +{ + return DFHack::isWallTerrain(in); +} + +int DFHack_isFloorTerrain(int in) +{ + return DFHack::isFloorTerrain(in); +} + +int DFHack_isRampTerrain(int in) +{ + return DFHack::isRampTerrain(in); +} + +int DFHack_isStairTerrain(int in) +{ + return DFHack::isStairTerrain(in); +} + +int DFHack_isOpenTerrain(int in) +{ + return DFHack::isOpenTerrain(in); +} + +int DFHack_getVegetationType(int in) +{ + return DFHack::getVegetationType(in); +} + +int DFHack_getTileType(int index, TileRow* tPtr) +{ + if(index >= TILE_TYPE_ARRAY_LENGTH) + return 0; + + *tPtr = tileTypeTable[index]; + return 1; +} diff --git a/library/include/dfhack-c/DFTileTypes_C.h b/library/include/dfhack-c/DFTileTypes_C.h new file mode 100644 index 000000000..f54989e0d --- /dev/null +++ b/library/include/dfhack-c/DFTileTypes_C.h @@ -0,0 +1,48 @@ +/* +www.sourceforge.net/projects/dfhack +Copyright (c) 2009 Petr Mrázek (peterix), Kenneth Ferland (Impaler[WrG]), dorf, doomchild + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any +damages arising from the use of this software. + +Permission is granted to anyone to use this software for any +purpose, including commercial applications, and to alter it and +redistribute it freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must +not claim that you wrote the original software. If you use this +software in a product, an acknowledgment in the product documentation +would be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and +must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source +distribution. +*/ + +#ifndef TILETYPES_C_API +#define TILETYPES_C_API + +#include "DFHack_C.h" +#include "dfhack/DFTileTypes.h" + +#ifdef __cplusplus +extern "C" { +#endif + +DFHACK_EXPORT int DFHack_isWallTerrain(int in); +DFHACK_EXPORT int DFHack_isFloorTerrain(int in); +DFHACK_EXPORT int DFHack_isRampTerrain(int in); +DFHACK_EXPORT int DFHack_isStairTerrain(int in); +DFHACK_EXPORT int DFHack_isOpenTerrain(int in); +DFHACK_EXPORT int DFHack_getVegetationType(int in); + +DFHACK_EXPORT int DFHack_getTileType(int index, TileRow* tPtr); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/library/modules/WindowIO-windows.cpp b/library/modules/WindowIO-windows.cpp index 249ebc6a6..b0666992e 100644 --- a/library/modules/WindowIO-windows.cpp +++ b/library/modules/WindowIO-windows.cpp @@ -23,6 +23,10 @@ distribution. */ #include "Internal.h" +#include "PlatformInternal.h" +#include + +using namespace std; #include "ContextShared.h" #include "dfhack/modules/WindowIO.h" #include "dfhack/DFProcess.h"