From 43dff6522a5244ddc6cd6d8adf4c11191a7b978c Mon Sep 17 00:00:00 2001 From: simon Date: Thu, 29 Apr 2010 18:24:34 +0200 Subject: [PATCH] multiple fixes so that the python interface builds with my modifications --- dfhack/include/modules/Materials.h | 2 +- dfhack/python/DF_CreatureManager.cpp | 2 ++ dfhack/python/DF_Helpers.cpp | 3 +- dfhack/python/DF_Material.cpp | 43 ++++++++++------------------ 4 files changed, 20 insertions(+), 30 deletions(-) diff --git a/dfhack/include/modules/Materials.h b/dfhack/include/modules/Materials.h index d5e52dd16..e2a1bc62f 100644 --- a/dfhack/include/modules/Materials.h +++ b/dfhack/include/modules/Materials.h @@ -49,7 +49,7 @@ namespace DFHack struct t_creaturetype { char rawname[128]; - vector castes; + std::vector castes; uint8_t tile_character; struct { diff --git a/dfhack/python/DF_CreatureManager.cpp b/dfhack/python/DF_CreatureManager.cpp index 166e67e2e..9bdb24641 100644 --- a/dfhack/python/DF_CreatureManager.cpp +++ b/dfhack/python/DF_CreatureManager.cpp @@ -25,11 +25,13 @@ distribution. #ifndef __DFCREATURES__ #define __DFCREATURES__ +#include #include "Python.h" #include "stdio.h" #include #include "integers.h" #include "DFTypes.h" +#include "modules/Materials.h" #include "modules/Creatures.h" #include "DF_CreatureType.cpp" diff --git a/dfhack/python/DF_Helpers.cpp b/dfhack/python/DF_Helpers.cpp index 5cbe166b1..c646b9c55 100644 --- a/dfhack/python/DF_Helpers.cpp +++ b/dfhack/python/DF_Helpers.cpp @@ -28,6 +28,7 @@ distribution. #include "Python.h" #include #include +#include #include using namespace std; @@ -37,8 +38,8 @@ using namespace std; using namespace DFHack; -#include "modules/Creatures.h" #include "modules/Materials.h" +#include "modules/Creatures.h" #define DICTADD(d, name, item) PyDict_SetItemString(d, name, item); Py_DECREF(item) #define OBJSET(o, name, item) PyObject_SetAttrString(o, name, item); Py_DECREF(item) diff --git a/dfhack/python/DF_Material.cpp b/dfhack/python/DF_Material.cpp index 33ecf5b6a..56e09b304 100644 --- a/dfhack/python/DF_Material.cpp +++ b/dfhack/python/DF_Material.cpp @@ -27,6 +27,7 @@ distribution. #include "Python.h" #include +#include #include "integers.h" using namespace std; @@ -266,11 +267,9 @@ static PyObject* DF_Material_ReadInorganicMaterials(DF_Material* self, PyObject* { if(self->mat_Ptr != NULL) { - std::vector matVec; - - if(self->mat_Ptr->ReadInorganicMaterials(matVec)) + if(self->mat_Ptr->ReadInorganicMaterials()) { - return BuildMatglossList(matVec); + return BuildMatglossList(self->mat_Ptr->inorganic); } } @@ -281,11 +280,9 @@ static PyObject* DF_Material_ReadOrganicMaterials(DF_Material* self, PyObject* a { if(self->mat_Ptr != NULL) { - std::vector matVec; - - if(self->mat_Ptr->ReadOrganicMaterials(matVec)) + if(self->mat_Ptr->ReadOrganicMaterials()) { - return BuildMatglossList(matVec); + return BuildMatglossList(self->mat_Ptr->organic); } } @@ -296,11 +293,9 @@ static PyObject* DF_Material_ReadWoodMaterials(DF_Material* self, PyObject* args { if(self->mat_Ptr != NULL) { - std::vector matVec; - - if(self->mat_Ptr->ReadWoodMaterials(matVec)) + if(self->mat_Ptr->ReadWoodMaterials()) { - return BuildMatglossList(matVec); + return BuildMatglossList(self->mat_Ptr->tree); } } @@ -311,11 +306,9 @@ static PyObject* DF_Material_ReadPlantMaterials(DF_Material* self, PyObject* arg { if(self->mat_Ptr != NULL) { - std::vector matVec; - - if(self->mat_Ptr->ReadPlantMaterials(matVec)) + if(self->mat_Ptr->ReadPlantMaterials()) { - return BuildMatglossList(matVec); + return BuildMatglossList(self->mat_Ptr->plant); } } @@ -326,11 +319,9 @@ static PyObject* DF_Material_ReadCreatureTypes(DF_Material* self, PyObject* args { if(self->mat_Ptr != NULL) { - std::vector matVec; - - if(self->mat_Ptr->ReadCreatureTypes(matVec)) + if(self->mat_Ptr->ReadCreatureTypes()) { - return BuildMatglossList(matVec); + return BuildMatglossList(self->mat_Ptr->race); } } @@ -341,11 +332,9 @@ static PyObject* DF_Material_ReadCreatureTypesEx(DF_Material* self, PyObject* ar { if(self->mat_Ptr != NULL) { - std::vector creatureVec; - - if(self->mat_Ptr->ReadCreatureTypesEx(creatureVec)) + if(self->mat_Ptr->ReadCreatureTypesEx()) { - return BuildCreatureTypeExList(creatureVec); + return BuildCreatureTypeExList(self->mat_Ptr->raceEx); } } @@ -356,11 +345,9 @@ static PyObject* DF_Material_ReadDescriptorColors(DF_Material* self, PyObject* a { if(self->mat_Ptr != NULL) { - std::vector colorVec; - - if(self->mat_Ptr->ReadDescriptorColors(colorVec)) + if(self->mat_Ptr->ReadDescriptorColors()) { - return BuildDescriptorColorList(colorVec); + return BuildDescriptorColorList(self->mat_Ptr->color); } }