From a962299c20160eed352a51dc036ec65169651146 Mon Sep 17 00:00:00 2001 From: doomchild Date: Wed, 26 May 2010 14:46:06 -0500 Subject: [PATCH] cleaned up header includes --- library/include/DFHack_C.h | 14 ++- library/include/dfhack-c/DFContext_C.h | 5 +- library/include/dfhack-c/DFTypes_C.h | 5 +- .../include/dfhack-c/modules/Buildings_C.h | 6 +- .../dfhack-c/modules/Constructions_C.h | 6 +- .../include/dfhack-c/modules/Creatures_C.h | 4 - library/include/dfhack-c/modules/Gui_C.h | 6 +- library/include/dfhack-c/modules/Items_C.h | 11 +- library/include/dfhack-c/modules/Maps_C.h | 12 +- .../include/dfhack-c/modules/Materials_C.h | 7 +- library/include/dfhack-c/modules/Position_C.h | 2 +- .../include/dfhack-c/modules/Translation_C.h | 6 +- .../include/dfhack-c/modules/Vegetation_C.h | 6 +- library/include/dfhack-c/modules/WindowIO_C.h | 43 +++++++ library/include/dfhack-c/modules/World_C.h | 47 ++++++++ library/modules/Buildings_C.cpp | 12 -- library/modules/Constructions_C.cpp | 7 -- library/modules/Creatures_C.cpp | 14 --- library/modules/Gui_C.cpp | 10 +- library/modules/Items_C.cpp | 17 --- library/modules/Maps_C.cpp | 12 -- library/modules/Materials_C.cpp | 13 --- library/modules/Position_C.cpp | 8 -- library/modules/WindowIO_C.cpp | 64 +++++++++++ library/modules/World_C.cpp | 105 ++++++++++++++++++ 25 files changed, 285 insertions(+), 157 deletions(-) create mode 100644 library/include/dfhack-c/modules/WindowIO_C.h create mode 100644 library/include/dfhack-c/modules/World_C.h create mode 100644 library/modules/WindowIO_C.cpp create mode 100644 library/modules/World_C.cpp diff --git a/library/include/DFHack_C.h b/library/include/DFHack_C.h index 8eb381595..f08c31131 100644 --- a/library/include/DFHack_C.h +++ b/library/include/DFHack_C.h @@ -25,12 +25,20 @@ distribution. #ifndef DFHACK_C_API #define DFHACK_C_API -typedef void DFHackObject; +#include +#include +#include +#include +#include +#include "dfhack/DFGlobal.h" #include "dfhack/DFExport.h" #include "dfhack/DFIntegers.h" -#include "dfhack-c/DFContext_C.h" -#include "dfhack-c/DFTypes_C.h" + +using namespace std; +using namespace DFHack; + +typedef void DFHackObject; #ifdef __cplusplus extern "C" { diff --git a/library/include/dfhack-c/DFContext_C.h b/library/include/dfhack-c/DFContext_C.h index 32ecca9e9..365c235b9 100644 --- a/library/include/dfhack-c/DFContext_C.h +++ b/library/include/dfhack-c/DFContext_C.h @@ -25,10 +25,7 @@ distribution. #ifndef DFHACK_C_CONTEXT #define DFHACK_C_CONTEXT -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" - -typedef void DFHackObject; +#include "DFHack_C.h" #ifdef __cplusplus extern "C" { diff --git a/library/include/dfhack-c/DFTypes_C.h b/library/include/dfhack-c/DFTypes_C.h index 18c8de3b3..a05adc2fc 100644 --- a/library/include/dfhack-c/DFTypes_C.h +++ b/library/include/dfhack-c/DFTypes_C.h @@ -25,13 +25,10 @@ distribution. #ifndef TYPES_C_API #define TYPES_C_API -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" +#include "DFHack_C.h" #include "dfhack/DFTypes.h" #include "dfhack/modules/Materials.h" -using namespace DFHack; - #ifdef __cplusplus extern "C" { #endif diff --git a/library/include/dfhack-c/modules/Buildings_C.h b/library/include/dfhack-c/modules/Buildings_C.h index c69da83e0..6b1632dd2 100644 --- a/library/include/dfhack-c/modules/Buildings_C.h +++ b/library/include/dfhack-c/modules/Buildings_C.h @@ -25,13 +25,9 @@ distribution. #ifndef BUILDINGS_C_API #define BUILDINGS_C_API -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" +#include "DFHack_C.h" #include "dfhack/DFTypes.h" #include "dfhack/modules/Buildings.h" -#include "DFHack_C.h" - -using namespace DFHack; #ifdef __cplusplus extern "C" { diff --git a/library/include/dfhack-c/modules/Constructions_C.h b/library/include/dfhack-c/modules/Constructions_C.h index c34527b1d..f339b6bcc 100644 --- a/library/include/dfhack-c/modules/Constructions_C.h +++ b/library/include/dfhack-c/modules/Constructions_C.h @@ -25,13 +25,9 @@ distribution. #ifndef CONSTRUCTIONS_C_API #define CONSTRUCTIONS_C_API -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" +#include "DFHack_C.h" #include "dfhack/DFTypes.h" #include "dfhack/modules/Constructions.h" -#include "DFHack_C.h" - -using namespace DFHack; #ifdef __cplusplus extern "C" { diff --git a/library/include/dfhack-c/modules/Creatures_C.h b/library/include/dfhack-c/modules/Creatures_C.h index 93502ffe6..bbc9e6f54 100644 --- a/library/include/dfhack-c/modules/Creatures_C.h +++ b/library/include/dfhack-c/modules/Creatures_C.h @@ -25,15 +25,11 @@ distribution. #ifndef CREATURES_C_API #define CREATURES_C_API -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" #include "DFHack_C.h" #include "dfhack/DFTypes.h" #include "dfhack/modules/Materials.h" #include "dfhack/modules/Creatures.h" -using namespace DFHack; - #ifdef __cplusplus extern "C" { #endif diff --git a/library/include/dfhack-c/modules/Gui_C.h b/library/include/dfhack-c/modules/Gui_C.h index 0bd68f3fc..2373d458d 100644 --- a/library/include/dfhack-c/modules/Gui_C.h +++ b/library/include/dfhack-c/modules/Gui_C.h @@ -25,11 +25,9 @@ distribution. #ifndef GUI_C_API #define GUI_C_API -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" +#include "DFHack_C.h" #include "dfhack/DFTypes.h" - -using namespace DFHack; +#include "dfhack/modules/Gui.h" #ifdef __cplusplus extern "C" { diff --git a/library/include/dfhack-c/modules/Items_C.h b/library/include/dfhack-c/modules/Items_C.h index 0568e9088..5c1e08e48 100644 --- a/library/include/dfhack-c/modules/Items_C.h +++ b/library/include/dfhack-c/modules/Items_C.h @@ -25,15 +25,10 @@ distribution. #ifndef ITEMS_C_API #define ITEMS_C_API -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" -#include "Internal.h" - -using namespace DFHack; - -#include "dfhack/DFTypes.h" -#include "dfhack/modules/Items.h" #include "DFHack_C.h" +#include "dfhack/DFProcess.h" +#include "dfhack-c/DFTypes_C.h" +#include "dfhack/modules/Items.h" #ifdef __cplusplus extern "C" { diff --git a/library/include/dfhack-c/modules/Maps_C.h b/library/include/dfhack-c/modules/Maps_C.h index e37d3640a..299f0d5f5 100644 --- a/library/include/dfhack-c/modules/Maps_C.h +++ b/library/include/dfhack-c/modules/Maps_C.h @@ -25,19 +25,9 @@ distribution. #ifndef MAPS_C_API #define MAPS_C_API -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" -#include -#include -#include - -using namespace std; - +#include "DFHack_C.h" #include "dfhack/DFTypes.h" #include "dfhack/modules/Maps.h" -#include "DFHack_C.h" - -using namespace DFHack; #ifdef __cplusplus extern "C" { diff --git a/library/include/dfhack-c/modules/Materials_C.h b/library/include/dfhack-c/modules/Materials_C.h index ef56ac627..25a9a7df3 100644 --- a/library/include/dfhack-c/modules/Materials_C.h +++ b/library/include/dfhack-c/modules/Materials_C.h @@ -25,14 +25,9 @@ distribution. #ifndef MATERIALS_C_API #define MATERIALS_C_API -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" -#include "dfhack/DFTypes.h" -#include "dfhack/modules/Materials.h" #include "DFHack_C.h" #include "dfhack-c/DFTypes_C.h" - -using namespace DFHack; +#include "dfhack/modules/Materials.h" #ifdef __cplusplus extern "C" { diff --git a/library/include/dfhack-c/modules/Position_C.h b/library/include/dfhack-c/modules/Position_C.h index 3b2f1dc0b..665e400bf 100644 --- a/library/include/dfhack-c/modules/Position_C.h +++ b/library/include/dfhack-c/modules/Position_C.h @@ -25,8 +25,8 @@ distribution. #ifndef POSITION_C_API #define POSITION_C_API -#include "dfhack/DFExport.h" #include "DFHack_C.h" +#include "dfhack/modules/Position.h" #ifdef __cplusplus extern "C" { diff --git a/library/include/dfhack-c/modules/Translation_C.h b/library/include/dfhack-c/modules/Translation_C.h index 2e1aaf457..8cbcf4e91 100644 --- a/library/include/dfhack-c/modules/Translation_C.h +++ b/library/include/dfhack-c/modules/Translation_C.h @@ -25,13 +25,9 @@ distribution. #ifndef TRANSLATION_C_API #define TRANSLATION_C_API -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" +#include "DFHack_C.h" #include "dfhack/DFTypes.h" #include "dfhack/modules/Translation.h" -#include "DFHack_C.h" - -using namespace DFHack; #ifdef __cplusplus extern "C" { diff --git a/library/include/dfhack-c/modules/Vegetation_C.h b/library/include/dfhack-c/modules/Vegetation_C.h index c57c3948a..017d30a7b 100644 --- a/library/include/dfhack-c/modules/Vegetation_C.h +++ b/library/include/dfhack-c/modules/Vegetation_C.h @@ -25,13 +25,9 @@ distribution. #ifndef VEGETATION_C_API #define VEGETATION_C_API -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" +#include "DFHack_C.h" #include "dfhack/DFTypes.h" #include "dfhack/modules/Vegetation.h" -#include "DFHack_C.h" - -using namespace DFHack; #ifdef __cplusplus extern "C" { diff --git a/library/include/dfhack-c/modules/WindowIO_C.h b/library/include/dfhack-c/modules/WindowIO_C.h new file mode 100644 index 000000000..072a4f352 --- /dev/null +++ b/library/include/dfhack-c/modules/WindowIO_C.h @@ -0,0 +1,43 @@ +/* +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 WINDOWIO_C_API +#define WINDOWIO_C_API + +#include "DFHack_C.h" +#include "dfhack/modules/WindowIO.h" + +#ifdef __cplusplus +extern "C" { +#endif + +DFHACK_EXPORT int WindowIO_TypeStr(DFHackObject* window, const char* input, int delay, bool useShift); + +DFHACK_EXPORT int WindowIO_TypeSpecial(DFHackObject* window, t_special command, int count, int delay); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/library/include/dfhack-c/modules/World_C.h b/library/include/dfhack-c/modules/World_C.h new file mode 100644 index 000000000..f6261a738 --- /dev/null +++ b/library/include/dfhack-c/modules/World_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 WORLD_C_API +#define WORLD_C_API + +#include "DFHack_C.h" +#include "dfhack/modules/World.h" + +#ifdef __cplusplus +extern "C" { +#endif + +DFHACK_EXPORT int World_Start(DFHackObject* world); +DFHACK_EXPORT int World_Finish(DFHackObject* world); + +DFHACK_EXPORT int World_ReadCurrentTick(DFHackObject* world, uint32_t* tick); +DFHACK_EXPORT int World_ReadCurrentYear(DFHackObject* world, uint32_t* year); +DFHACK_EXPORT int World_ReadCurrentMonth(DFHackObject* world, uint32_t* month); +DFHACK_EXPORT int World_ReadCurrentDay(DFHackObject* world, uint32_t* day); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/library/modules/Buildings_C.cpp b/library/modules/Buildings_C.cpp index 18bd77922..7eaaa48a6 100644 --- a/library/modules/Buildings_C.cpp +++ b/library/modules/Buildings_C.cpp @@ -22,20 +22,8 @@ must not be misrepresented as being the original software. distribution. */ -#include "dfhack/DFIntegers.h" -#include -#include -#include "stdio.h" - -using namespace std; - -#include "Internal.h" -#include "dfhack/DFTypes.h" -#include "dfhack/modules/Buildings.h" #include "dfhack-c/modules/Buildings_C.h" -using namespace DFHack; - #ifdef __cplusplus extern "C" { #endif diff --git a/library/modules/Constructions_C.cpp b/library/modules/Constructions_C.cpp index 93afdae01..03e89ca23 100644 --- a/library/modules/Constructions_C.cpp +++ b/library/modules/Constructions_C.cpp @@ -22,15 +22,8 @@ must not be misrepresented as being the original software. distribution. */ -#include "dfhack/DFIntegers.h" - -#include "Internal.h" -#include "dfhack/DFTypes.h" -#include "dfhack/modules/Constructions.h" #include "dfhack-c/modules/Constructions_C.h" -using namespace DFHack; - #ifdef __cplusplus extern "C" { #endif diff --git a/library/modules/Creatures_C.cpp b/library/modules/Creatures_C.cpp index 1aac93110..731ac8611 100644 --- a/library/modules/Creatures_C.cpp +++ b/library/modules/Creatures_C.cpp @@ -22,21 +22,7 @@ must not be misrepresented as being the original software. distribution. */ -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" -#include -#include -#include - -using namespace std; - -#include "dfhack/DFTypes.h" -#include "dfhack/modules/Materials.h" -#include "dfhack/modules/Creatures.h" #include "dfhack-c/modules/Creatures_C.h" -#include "DFHack_C.h" - -using namespace DFHack; #ifdef __cplusplus extern "C" { diff --git a/library/modules/Gui_C.cpp b/library/modules/Gui_C.cpp index 586eb1dd0..da17d2a18 100644 --- a/library/modules/Gui_C.cpp +++ b/library/modules/Gui_C.cpp @@ -21,16 +21,8 @@ must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ -#include -#include -#include "DFHack_C.h" -#include "dfhack-c/modules/Gui_C.h" -#include "dfhack/DFIntegers.h" - -#include "Internal.h" -#include "dfhack/modules/Gui.h" -using namespace DFHack; +#include "dfhack-c/modules/Gui_C.h" #ifdef __cplusplus extern "C" { diff --git a/library/modules/Items_C.cpp b/library/modules/Items_C.cpp index 3ac54c46a..75e555c79 100644 --- a/library/modules/Items_C.cpp +++ b/library/modules/Items_C.cpp @@ -22,25 +22,8 @@ must not be misrepresented as being the original software. distribution. */ -#include -#include -#include -#include "dfhack/DFExport.h" -#include "dfhack/DFIntegers.h" -#include "DFHack_C.h" - -#include "dfhack/DFTypes.h" - -using namespace std; -using namespace DFHack; - -#include "dfhack/DFProcess.h" -#include "dfhack/modules/Materials.h" -#include "dfhack/modules/Items.h" -#include "dfhack-c/DFTypes_C.h" #include "dfhack-c/modules/Items_C.h" - #ifdef __cplusplus extern "C" { #endif diff --git a/library/modules/Maps_C.cpp b/library/modules/Maps_C.cpp index ccac26447..5b41fff07 100644 --- a/library/modules/Maps_C.cpp +++ b/library/modules/Maps_C.cpp @@ -22,20 +22,8 @@ must not be misrepresented as being the original software. distribution. */ -#include "dfhack/DFIntegers.h" -#include -#include -#include - -using namespace std; - -#include "Internal.h" -#include "dfhack/DFTypes.h" -#include "dfhack/modules/Maps.h" #include "dfhack-c/modules/Maps_C.h" -using namespace DFHack; - #ifdef __cplusplus extern "C" { #endif diff --git a/library/modules/Materials_C.cpp b/library/modules/Materials_C.cpp index dee99fbaa..a1f379032 100644 --- a/library/modules/Materials_C.cpp +++ b/library/modules/Materials_C.cpp @@ -22,21 +22,8 @@ must not be misrepresented as being the original software. distribution. */ -#include "dfhack/DFIntegers.h" -#include -#include -#include - -using namespace std; - -#include "Internal.h" -#include "dfhack/DFTypes.h" -#include "dfhack/modules/Materials.h" -#include "dfhack-c/DFTypes_C.h" #include "dfhack-c/modules/Materials_C.h" -using namespace DFHack; - #ifdef __cplusplus extern "C" { #endif diff --git a/library/modules/Position_C.cpp b/library/modules/Position_C.cpp index 72405d9b7..0144abdb3 100644 --- a/library/modules/Position_C.cpp +++ b/library/modules/Position_C.cpp @@ -22,15 +22,7 @@ must not be misrepresented as being the original software. distribution. */ -#include -#include #include "dfhack-c/modules/Position_C.h" -#include "dfhack/DFIntegers.h" - -#include "Internal.h" -#include "dfhack/modules/Position.h" - -using namespace DFHack; #ifdef __cplusplus extern "C" { diff --git a/library/modules/WindowIO_C.cpp b/library/modules/WindowIO_C.cpp new file mode 100644 index 000000000..b404736ec --- /dev/null +++ b/library/modules/WindowIO_C.cpp @@ -0,0 +1,64 @@ +/* +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. +*/ + +using namespace std; + +#include "dfhack/DFIntegers.h" +#include "DFHack.h" +#include "DFHack_C.h" +#include "dfhack/modules/WindowIO.h" +#include "dfhack-c/modules/WindowIO_C.h" + +using namespace DFHack; + + +#ifdef __cplusplus +extern "C" { +#endif + +int WindowIO_TypeStr(DFHackObject* window, const char* input, int delay, bool useShift) +{ + if(window != NULL) + { + ((DFHack::WindowIO*)window)->TypeStr(input, delay, useShift); + return 1; + } + + return -1; +} + +int WindowIO_TypeSpecial(DFHackObject* window, t_special command, int count, int delay) +{ + if(window != NULL) + { + ((DFHack::WindowIO*)window)->TypeSpecial(command, count, delay); + return 1; + } + + return -1; +} + +#ifdef __cplusplus +} +#endif diff --git a/library/modules/World_C.cpp b/library/modules/World_C.cpp new file mode 100644 index 000000000..a5be3bcd0 --- /dev/null +++ b/library/modules/World_C.cpp @@ -0,0 +1,105 @@ +/* +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 "DFHack_C.h" +#include "dfhack/modules/World.h" +#include "dfhack-c/modules/World_C.h" + +#ifdef __cplusplus +extern "C" { +#endif + +int World_Start(DFHackObject* world) +{ + if(world != NULL) + { + if(((DFHack::World*)world)->Start()) + return 1; + else + return 0; + } + + return -1; +} + +int World_Finish(DFHackObject* world) +{ + if(world != NULL) + { + if(((DFHack::World*)world)->Finish()) + return 1; + else + return 0; + } + + return -1; +} + +int World_ReadCurrentTick(DFHackObject* world, uint32_t* tick) +{ + if(world != NULL) + { + *tick = ((DFHack::World*)world)->ReadCurrentTick(); + return 1; + } + + return -1; +} + +int World_ReadCurrentYear(DFHackObject* world, uint32_t* year) +{ + if(world != NULL) + { + *year = ((DFHack::World*)world)->ReadCurrentYear(); + return 1; + } + + return -1; +} + +int World_ReadCurrentMonth(DFHackObject* world, uint32_t* month) +{ + if(world != NULL) + { + *month = ((DFHack::World*)world)->ReadCurrentMonth(); + return 1; + } + + return -1; +} + +int World_ReadCurrentDay(DFHackObject* world, uint32_t* day) +{ + if(world != NULL) + { + *day = ((DFHack::World*)world)->ReadCurrentDay(); + return 1; + } + + return -1; +} + +#ifdef __cplusplus +} +#endif