diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt index 00db92923..321ef5b3b 100644 --- a/library/CMakeLists.txt +++ b/library/CMakeLists.txt @@ -107,17 +107,18 @@ IF(UNIX) ENDIF(UNIX) # SWIG stuff -#FIND_PACKAGE(SWIG) - -#IF(SWIG_FOUND) - #INCLUDE(${SWIG_USE_FILE}) - #FIND_PACKAGE(PythonLibs) - #IF(PYTHONLIBS_FOUND) - #INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}) - #SET(CMAKE_SWIG_FLAGS "-c++") - #SET_SOURCE_FILES_PROPERTIES(pydfhack.i PROPERTIES CPLUSPLUS ON) - #SET_SOURCE_FILES_PROPERTIES(pydfhack.i PROPERTIES SWIG_FLAGS "-includeall") - #SWIG_ADD_MODULE(pydfhack python pydfhack.i) - #SWIG_LINK_LIBRARIES(pydfhack ${PYTHON_LIBRARIES} dfhack) - #ENDIF(PYTHONLIBS_FOUND) -#ENDIF(SWIG_FOUND) \ No newline at end of file +FIND_PACKAGE(SWIG) + +IF(SWIG_FOUND) + INCLUDE(${SWIG_USE_FILE}) + FIND_PACKAGE(PythonLibs) + IF(PYTHONLIBS_FOUND) + INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}) + SET(CMAKE_SWIG_FLAGS "-c++") + SET_SOURCE_FILES_PROPERTIES(pydfhack.i PROPERTIES CPLUSPLUS ON) +# SET(CMAKE_DFHACK_SWIG_OUTDIR ${dfhack_SOURCE_DIR}/output CACHE PATH "Directory where Java wrapped libraries will be saved.") + # SET_SOURCE_FILES_PROPERTIES(pydfhack.i PROPERTIES SWIG_FLAGS "-includeall") + SWIG_ADD_MODULE(pydfhack python pydfhack.i) + SWIG_LINK_LIBRARIES(pydfhack ${PYTHON_LIBRARIES} dfhack) + ENDIF(PYTHONLIBS_FOUND) +ENDIF(SWIG_FOUND) \ No newline at end of file diff --git a/library/pydfhack.i b/library/pydfhack.i index 988719576..86048dd32 100644 --- a/library/pydfhack.i +++ b/library/pydfhack.i @@ -118,20 +118,22 @@ namespace DFHack bool isValidBlock(uint32_t blockx, uint32_t blocky, uint32_t blockz); uint32_t getBlockPtr (uint32_t blockx, uint32_t blocky, uint32_t blockz); + + bool ReadBlock40d(uint32_t blockx, uint32_t blocky, uint32_t blockz, mapblock40d * OUTPUT); + + bool ReadTileTypes(uint32_t blockx, uint32_t blocky, uint32_t blockz, tiletypes40d *OUTPUT); + bool WriteTileTypes(uint32_t blockx, uint32_t blocky, uint32_t blockz, tiletypes40d *INPUT); - bool ReadTileTypes(uint32_t blockx, uint32_t blocky, uint32_t blockz, uint16_t *buffer); - bool WriteTileTypes(uint32_t blockx, uint32_t blocky, uint32_t blockz, uint16_t *buffer); - - bool ReadDesignations(uint32_t blockx, uint32_t blocky, uint32_t blockz, uint32_t *buffer); - bool WriteDesignations (uint32_t blockx, uint32_t blocky, uint32_t blockz, uint32_t *buffer); + bool ReadDesignations(uint32_t blockx, uint32_t blocky, uint32_t blockz, designations40d *OUTPUT); + bool WriteDesignations (uint32_t blockx, uint32_t blocky, uint32_t blockz, designations40d *INPUT); - bool ReadOccupancy(uint32_t blockx, uint32_t blocky, uint32_t blockz, uint32_t *buffer); - bool WriteOccupancy(uint32_t blockx, uint32_t blocky, uint32_t blockz, uint32_t *buffer); + bool ReadOccupancy(uint32_t blockx, uint32_t blocky, uint32_t blockz, occupancies40d *OUTPUT); + bool WriteOccupancy(uint32_t blockx, uint32_t blocky, uint32_t blockz, occupancies40d *INPUT); bool ReadDirtyBit(uint32_t blockx, uint32_t blocky, uint32_t blockz, bool &OUTPUT); bool WriteDirtyBit(uint32_t blockx, uint32_t blocky, uint32_t blockz, bool dirtybit); - bool ReadRegionOffsets(uint32_t blockx, uint32_t blocky, uint32_t blockz, uint8_t *buffer); + bool ReadRegionOffsets(uint32_t blockx, uint32_t blocky, uint32_t blockz, biome_indices40d *OUTPUT); bool ReadVeins(uint32_t blockx, uint32_t blocky, uint32_t blockz, std::vector & veins, std::vector & ices);