2011-07-13 00:17:51 -06:00
|
|
|
#pragma once
|
|
|
|
/**
|
|
|
|
* \defgroup grp_vermin Wild vermin (ants, bees, etc)
|
|
|
|
*/
|
2011-12-31 04:48:42 -07:00
|
|
|
#include "Export.h"
|
2012-01-28 13:12:41 -07:00
|
|
|
#include "DataDefs.h"
|
|
|
|
#include "df/vermin.h"
|
|
|
|
|
2012-01-07 22:59:52 -07:00
|
|
|
namespace DFHack { namespace Simple { namespace Vermin
|
2011-07-13 00:17:51 -06:00
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Structure for holding a read DF vermin spawn point object
|
|
|
|
* \ingroup grp_vermin
|
|
|
|
*/
|
2012-01-07 22:59:52 -07:00
|
|
|
struct t_vermin
|
2011-07-13 00:17:51 -06:00
|
|
|
{
|
2012-01-28 13:12:41 -07:00
|
|
|
df::vermin * origin;
|
2011-07-21 14:37:02 -06:00
|
|
|
int16_t race;
|
2012-01-09 16:45:43 -07:00
|
|
|
int16_t caste;
|
2011-07-13 00:17:51 -06:00
|
|
|
uint16_t x;
|
|
|
|
uint16_t y;
|
|
|
|
uint16_t z;
|
|
|
|
uint32_t countdown;
|
2012-01-09 16:45:43 -07:00
|
|
|
bool visible:1;
|
|
|
|
bool is_colony:1; /// Is vermin object a colony?
|
2011-07-13 00:17:51 -06:00
|
|
|
};
|
|
|
|
|
2012-01-07 22:59:52 -07:00
|
|
|
static const uint16_t TYPE_WILD_COLONY = 0xFFFF;
|
2011-07-13 00:17:51 -06:00
|
|
|
/**
|
2012-01-07 22:59:52 -07:00
|
|
|
* Get number of vermin objects
|
2011-07-13 00:17:51 -06:00
|
|
|
*/
|
2012-01-07 22:59:52 -07:00
|
|
|
DFHACK_EXPORT uint32_t getNumVermin();
|
|
|
|
/**
|
|
|
|
* Read from vermin object
|
|
|
|
*/
|
|
|
|
DFHACK_EXPORT bool Read (const uint32_t index, t_vermin & point);
|
|
|
|
/**
|
|
|
|
* Write into vermin object
|
|
|
|
*/
|
|
|
|
DFHACK_EXPORT bool Write (const uint32_t index, t_vermin & point);
|
|
|
|
} } } // end DFHack::Simple::Vermin
|