diff --git a/dfhack/include/modules/Translation_C.h b/dfhack/include/modules/Translation_C.h new file mode 100644 index 000000000..80702c1cd --- /dev/null +++ b/dfhack/include/modules/Translation_C.h @@ -0,0 +1,47 @@ +/* +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 TRANSLATION_C_API +#define TRANSLATION_C_API + +#include "Export.h" +#include "integers.h" +#include "DFTypes.h" +#include "modules/Translation.h" +#include "DFHackAPI_C.h" + +using namespace DFHack; + +#ifdef __cplusplus +extern "C" { +#endif + +DFHACK_EXPORT int Translation_Start(DFHackObject* trans); +DFHACK_EXPORT int Translation_Finish(DFHackObject* trans); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/dfhack/include/modules/Vegetation_C.h b/dfhack/include/modules/Vegetation_C.h new file mode 100644 index 000000000..5db1300e2 --- /dev/null +++ b/dfhack/include/modules/Vegetation_C.h @@ -0,0 +1,49 @@ +/* +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 VEGETATION_C_API +#define VEGETATION_C_API + +#include "Export.h" +#include "integers.h" +#include "DFTypes.h" +#include "modules/Vegetation.h" +#include "DFHackAPI_C.h" + +using namespace DFHack; + +#ifdef __cplusplus +extern "C" { +#endif + +DFHACK_EXPORT int Vegetation_Start(DFHackObject* veg, uint32_t* numTrees); +DFHACK_EXPORT int Vegetation_Finish(DFHackObject* veg); + +DFHACK_EXPORT int Vegetation_Read(DFHackObject* veg, const uint32_t index, t_tree* shrubbery); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/dfhack/modules/Translation_C.cpp b/dfhack/modules/Translation_C.cpp new file mode 100644 index 000000000..abba212db --- /dev/null +++ b/dfhack/modules/Translation_C.cpp @@ -0,0 +1,59 @@ +/* +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 "integers.h" +#include "DFCommonInternal.h" +#include "DFTypes.h" +#include "modules/Translation.h" +#include "modules/Translation_C.h" + +using namespace DFHack; + +#ifdef __cplusplus +extern "C" { +#endif + +int Translation_Start(DFHackObject* trans) +{ + if(trans != NULL) + { + return ((DFHack::Translation*)trans)->Start(); + } + + return -1; +} + +int Translation_Finish(DFHackObject* trans) +{ + if(trans != NULL) + { + return ((DFHack::Translation*)trans)->Finish(); + } + + return -1; +} + +#ifdef __cplusplus +} +#endif diff --git a/dfhack/modules/Vegetation_C.cpp b/dfhack/modules/Vegetation_C.cpp new file mode 100644 index 000000000..a3ced1ab8 --- /dev/null +++ b/dfhack/modules/Vegetation_C.cpp @@ -0,0 +1,69 @@ +/* +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 "integers.h" +#include "DFCommonInternal.h" +#include "DFTypes.h" +#include "modules/Vegetation.h" +#include "modules/Vegetation_C.h" + +using namespace DFHack; + +#ifdef __cplusplus +extern "C" { +#endif + +int Vegetation_Start(DFHackObject* veg, uint32_t* numTrees) +{ + if(veg != NULL) + { + return ((DFHack::Vegetation*)veg)->Start(*numTrees); + } + + return -1; +} + +int Vegetation_Finish(DFHackObject* veg) +{ + if(veg != NULL) + { + return ((DFHack::Vegetation*)veg)->Finish(); + } + + return -1; +} + +int Vegetation_Read(DFHackObject* veg, const uint32_t index, t_tree* shrubbery) +{ + if(veg != NULL) + { + return ((DFHack::Vegetation*)veg)->Read(index, *shrubbery); + } + + return -1; +} + +#ifdef __cplusplus +} +#endif