Merge branch 'pydfhack' of git://github.com/doomchild/dfhack into DF2010
commit
d3f1f63d92
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,215 @@
|
|||||||
|
/*
|
||||||
|
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 __UNIONBASE__
|
||||||
|
#define __UNIONBASE__
|
||||||
|
|
||||||
|
#include <Python.h>
|
||||||
|
|
||||||
|
struct UnionBase
|
||||||
|
{
|
||||||
|
PyObject_HEAD
|
||||||
|
unsigned int whole;
|
||||||
|
};
|
||||||
|
|
||||||
|
static PyObject* UnionBase_new(PyTypeObject* type, PyObject* args, PyObject* kwds)
|
||||||
|
{
|
||||||
|
UnionBase* self;
|
||||||
|
|
||||||
|
self = (UnionBase*)type->tp_alloc(type, 0);
|
||||||
|
|
||||||
|
if(self != NULL)
|
||||||
|
self->whole = 0;
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return (PyObject*)self;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int UnionBase_init(UnionBase* self, PyObject* args, PyObject* kwds)
|
||||||
|
{
|
||||||
|
if(!PyArg_ParseTuple(args, "|I", &self->whole))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void UnionBase_dealloc(UnionBase* self)
|
||||||
|
{
|
||||||
|
self->ob_type->tp_free((PyObject*)self);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* UnionBase_GetBitMask(UnionBase* self, PyObject* args)
|
||||||
|
{
|
||||||
|
unsigned int mask;
|
||||||
|
|
||||||
|
if(!PyArg_ParseTuple(args, "I", &mask))
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
|
||||||
|
if((self->whole & mask) != 0)
|
||||||
|
Py_RETURN_TRUE;
|
||||||
|
|
||||||
|
Py_RETURN_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* UnionBase_SetBitMask(UnionBase* self, PyObject* args)
|
||||||
|
{
|
||||||
|
unsigned int mask;
|
||||||
|
int on;
|
||||||
|
|
||||||
|
if(!PyArg_ParseTuple(args, "Ii", &mask, &on))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if(on)
|
||||||
|
self->whole |= mask;
|
||||||
|
else
|
||||||
|
self->whole &= ~mask;
|
||||||
|
|
||||||
|
Py_RETURN_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* UnionBase_GetSingleBit(UnionBase* self, PyObject* args)
|
||||||
|
{
|
||||||
|
unsigned int mask;
|
||||||
|
|
||||||
|
if(!PyArg_ParseTuple(args, "I", &mask))
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
|
||||||
|
if((self->whole & (1 << mask)) != 0)
|
||||||
|
Py_RETURN_TRUE;
|
||||||
|
|
||||||
|
Py_RETURN_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* UnionBase_SetSingleBit(UnionBase* self, PyObject* args)
|
||||||
|
{
|
||||||
|
unsigned int mask;
|
||||||
|
int on;
|
||||||
|
|
||||||
|
if(!PyArg_ParseTuple(args, "Ii", &mask, &on))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if(on)
|
||||||
|
self->whole |= (1 << mask);
|
||||||
|
else
|
||||||
|
self->whole &= ~(1 << mask);
|
||||||
|
|
||||||
|
Py_RETURN_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* UnionBase_int(PyObject* self)
|
||||||
|
{
|
||||||
|
return PyInt_FromLong(((UnionBase*)self)->whole);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* UnionBase_long(PyObject* self)
|
||||||
|
{
|
||||||
|
return PyInt_FromLong(((UnionBase*)self)->whole);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* UnionBase_hex(PyObject* self)
|
||||||
|
{
|
||||||
|
return PyNumber_ToBase(PyInt_FromLong(((UnionBase*)self)->whole), 16);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyMethodDef UnionBase_methods[] =
|
||||||
|
{
|
||||||
|
{"_get_mask_bit", (PyCFunction)UnionBase_GetSingleBit, METH_VARARGS, "Get mask bit"},
|
||||||
|
{"_set_mask_bit", (PyCFunction)UnionBase_SetSingleBit, METH_VARARGS, "Set mask bit"},
|
||||||
|
{"_get_mask", (PyCFunction)UnionBase_GetBitMask, METH_VARARGS, ""},
|
||||||
|
{"_set_mask", (PyCFunction)UnionBase_SetBitMask, METH_VARARGS, ""},
|
||||||
|
{NULL} //Sentinel
|
||||||
|
};
|
||||||
|
|
||||||
|
static PyNumberMethods UnionBase_as_number[] =
|
||||||
|
{
|
||||||
|
0, // binaryfunc nb_add; /* __add__ */
|
||||||
|
0, // binaryfunc nb_subtract; /* __sub__ */
|
||||||
|
0, // binaryfunc nb_multiply; /* __mul__ */
|
||||||
|
0, // binaryfunc nb_divide; /* __div__ */
|
||||||
|
0, // binaryfunc nb_remainder; /* __mod__ */
|
||||||
|
0, // binaryfunc nb_divmod; /* __divmod__ */
|
||||||
|
0, // ternaryfunc nb_power; /* __pow__ */
|
||||||
|
0, // unaryfunc nb_negative; /* __neg__ */
|
||||||
|
0, // unaryfunc nb_positive; /* __pos__ */
|
||||||
|
0, // unaryfunc nb_absolute; /* __abs__ */
|
||||||
|
0, // inquiry nb_nonzero; /* __nonzero__ */
|
||||||
|
0, // unaryfunc nb_invert; /* __invert__ */
|
||||||
|
0, // binaryfunc nb_lshift; /* __lshift__ */
|
||||||
|
0, // binaryfunc nb_rshift; /* __rshift__ */
|
||||||
|
0, // binaryfunc nb_and; /* __and__ */
|
||||||
|
0, // binaryfunc nb_xor; /* __xor__ */
|
||||||
|
0, // binaryfunc nb_or; /* __or__ */
|
||||||
|
0, // coercion nb_coerce; /* __coerce__ */
|
||||||
|
UnionBase_int, // unaryfunc nb_int; /* __int__ */
|
||||||
|
UnionBase_long, // unaryfunc nb_long; /* __long__ */
|
||||||
|
0, // unaryfunc nb_float; /* __float__ */
|
||||||
|
0, // unaryfunc nb_oct; /* __oct__ */
|
||||||
|
UnionBase_hex, // unaryfunc nb_hex; /* __hex__ */
|
||||||
|
};
|
||||||
|
|
||||||
|
static PyTypeObject UnionBase_type =
|
||||||
|
{
|
||||||
|
PyObject_HEAD_INIT(NULL)
|
||||||
|
0, /*ob_size*/
|
||||||
|
"pydfhack.UnionBase", /*tp_name*/
|
||||||
|
sizeof(UnionBase), /*tp_basicsize*/
|
||||||
|
0, /*tp_itemsize*/
|
||||||
|
(destructor)UnionBase_dealloc, /*tp_dealloc*/
|
||||||
|
0, /*tp_print*/
|
||||||
|
0, /*tp_getattr*/
|
||||||
|
0, /*tp_setattr*/
|
||||||
|
0, /*tp_compare*/
|
||||||
|
0, /*tp_repr*/
|
||||||
|
UnionBase_as_number, /*tp_as_number*/
|
||||||
|
0, /*tp_as_sequence*/
|
||||||
|
0, /*tp_as_mapping*/
|
||||||
|
0, /*tp_hash */
|
||||||
|
0, /*tp_call*/
|
||||||
|
0, /*tp_str*/
|
||||||
|
0, /*tp_getattro*/
|
||||||
|
0, /*tp_setattro*/
|
||||||
|
0, /*tp_as_buffer*/
|
||||||
|
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/
|
||||||
|
"pydfhack UnionBase objects", /* tp_doc */
|
||||||
|
0, /* tp_traverse */
|
||||||
|
0, /* tp_clear */
|
||||||
|
0, /* tp_richcompare */
|
||||||
|
0, /* tp_weaklistoffset */
|
||||||
|
0, /* tp_iter */
|
||||||
|
0, /* tp_iternext */
|
||||||
|
UnionBase_methods, /* tp_methods */
|
||||||
|
0, /* tp_members */
|
||||||
|
0, /* tp_getset */
|
||||||
|
0, /* tp_base */
|
||||||
|
0, /* tp_dict */
|
||||||
|
0, /* tp_descr_get */
|
||||||
|
0, /* tp_descr_set */
|
||||||
|
0, /* tp_dictoffset */
|
||||||
|
(initproc)UnionBase_init, /* tp_init */
|
||||||
|
0, /* tp_alloc */
|
||||||
|
UnionBase_new, /* tp_new */
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,231 @@
|
|||||||
|
/*
|
||||||
|
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 __MATGLOSS__
|
||||||
|
#define __MATGLOSS__
|
||||||
|
|
||||||
|
#include <Python.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "DFTypes.h"
|
||||||
|
|
||||||
|
using namespace DFHack;
|
||||||
|
|
||||||
|
// MatGloss
|
||||||
|
|
||||||
|
struct MatGloss
|
||||||
|
{
|
||||||
|
PyObject_HEAD
|
||||||
|
DFHack::t_matgloss native;
|
||||||
|
};
|
||||||
|
|
||||||
|
static PyObject* MatGloss_new(PyTypeObject* type, PyObject* arg, PyObject* kwds)
|
||||||
|
{
|
||||||
|
MatGloss* self;
|
||||||
|
|
||||||
|
self = (MatGloss*)type->tp_alloc(type, 0);
|
||||||
|
|
||||||
|
self->native->id[0] = '\0';
|
||||||
|
self->native->name[0] = '\0';
|
||||||
|
|
||||||
|
return (PyObject*)self;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void MatGloss_dealloc(MatGloss* self)
|
||||||
|
{
|
||||||
|
self->ob_type->tp_free((PyObject*)self);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* MatGloss_GetID(MatGloss* self, void* closure)
|
||||||
|
{
|
||||||
|
return PyString_FromString(self->native->id);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int MatGloss_SetID(MatGloss* self, PyObject* args, void* closure)
|
||||||
|
{
|
||||||
|
char* temp;
|
||||||
|
|
||||||
|
if(!PyArg_ParseTuple(args, "s", &temp))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
strncpy(self->id, temp, 127);
|
||||||
|
self->native->id[127] = '\0';
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* MatGloss_GetName(MatGloss* self, PyObject* args, void* closure)
|
||||||
|
{
|
||||||
|
return PyString_FromString(self->native->name);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* MatGloss_SetName(MatGloss* self, PyObject* args, void* closure)
|
||||||
|
{
|
||||||
|
char* temp;
|
||||||
|
|
||||||
|
if(!PyArg_ParseTuple(args, "s", &temp))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
strncpy(self->native->name, temp, 127);
|
||||||
|
self->native->name[127] = '\0';
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyGetSetDef MatGloss_getSetters[] =
|
||||||
|
{
|
||||||
|
{"id", (getter)MatGloss_GetID, (setter)MatGloss_SetID, "id", NULL},
|
||||||
|
{"name", (getter)MatGloss_GetName, (setter)MatGloss_SetName, "name", NULL},
|
||||||
|
{NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
// MatGlossPlant
|
||||||
|
|
||||||
|
struct MatGlossPlant
|
||||||
|
{
|
||||||
|
PyObject_HEAD
|
||||||
|
DFHack::t_matglossPlant native;
|
||||||
|
};
|
||||||
|
|
||||||
|
static PyObject* MatGlossPlant_new(PyTypeObject* type, PyObject* arg, PyObject* kwds)
|
||||||
|
{
|
||||||
|
MatGlossPlant* self;
|
||||||
|
|
||||||
|
self = (MatGlossPlant*)type->tp_alloc(type, 0);
|
||||||
|
|
||||||
|
self->native->id[0] = '\0';
|
||||||
|
self->native->name[0] = '\0';
|
||||||
|
self->native->drink_name[127] = '\0';
|
||||||
|
self->native->food_name[127] = '\0';
|
||||||
|
self->native->extract_name[127] = '\0';
|
||||||
|
|
||||||
|
return (PyObject*)self;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void MatGlossPlant_dealloc(MatGlossPlant* self)
|
||||||
|
{
|
||||||
|
self->ob_type->tp_free((PyObject*)self);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* MatGlossPlant_GetID(MatGlossPlant* self, void* closure)
|
||||||
|
{
|
||||||
|
return PyString_FromString(self->native->id);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int MatGlossPlant_SetID(MatGlossPlant* self, PyObject* args, void* closure)
|
||||||
|
{
|
||||||
|
char* temp;
|
||||||
|
|
||||||
|
if(!PyArg_ParseTuple(args, "s", &temp))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
strncpy(self->native->id, temp, 127);
|
||||||
|
self->native->id[127] = '\0';
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* MatGlossPlant_GetName(MatGlossPlant* self, PyObject* args, void* closure)
|
||||||
|
{
|
||||||
|
return PyString_FromString(self->native->name);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* MatGlossPlant_SetName(MatGlossPlant* self, PyObject* args, void* closure)
|
||||||
|
{
|
||||||
|
char* temp;
|
||||||
|
|
||||||
|
if(!PyArg_ParseTuple(args, "s", &temp))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
strncpy(self->native->name, temp, 127);
|
||||||
|
self->native->name[127] = '\0';
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* MatGlossPlant_GetDrinkName(MatGlossPlant* self, PyObject* args, void* closure)
|
||||||
|
{
|
||||||
|
return PyString_FromString(self->native->drink_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* MatGlossPlant_SetDrinkName(MatGlossPlant* self, PyObject* args, void* closure)
|
||||||
|
{
|
||||||
|
char* temp;
|
||||||
|
|
||||||
|
if(!PyArg_ParseTuple(args, "s", &temp))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
strncpy(self->native->drink_name, temp, 127);
|
||||||
|
self->native->drink_name[127] = '\0';
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* MatGlossPlant_GetFoodName(MatGlossPlant* self, PyObject* args, void* closure)
|
||||||
|
{
|
||||||
|
return PyString_FromString(self->native->food_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* MatGlossPlant_SetFoodName(MatGlossPlant* self, PyObject* args, void* closure)
|
||||||
|
{
|
||||||
|
char* temp;
|
||||||
|
|
||||||
|
if(!PyArg_ParseTuple(args, "s", &temp))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
strncpy(self->native->food_name, temp, 127);
|
||||||
|
self->native->food_name[127] = '\0';
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* MatGlossPlant_GetExtractName(MatGlossPlant* self, PyObject* args, void* closure)
|
||||||
|
{
|
||||||
|
return PyString_FromString(self->native->extract_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject* MatGlossPlant_SetExtractName(MatGlossPlant* self, PyObject* args, void* closure)
|
||||||
|
{
|
||||||
|
char* temp;
|
||||||
|
|
||||||
|
if(!PyArg_ParseTuple(args, "s", &temp))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
strncpy(self->native->extract_name, temp, 127);
|
||||||
|
self->native->extract_name[127] = '\0';
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyGetSetDef MatGlossPlant_getSetters[] =
|
||||||
|
{
|
||||||
|
{"id", (getter)MatGlossPlant_GetID, (setter)MatGlossPlant_SetID, "id", NULL},
|
||||||
|
{"name", (getter)MatGlossPlant_GetName, (setter)MatGlossPlant_SetName, "name", NULL},
|
||||||
|
{"drink_name", (getter)MatGlossPlant_GetDrinkName, (setter)MatGlossPlant_SetDrinkName, "drink_name", NULL},
|
||||||
|
{"food_name", (getter)MatGlossPlant_GetFoodName, (setter)MatGlossPlant_SetFoodName, "food_name", NULL},
|
||||||
|
{"extract_name", (getter)MatGlossPlant_GetExtractName, (setter)MatGlossPlant_SetExtractName, "extract_name", NULL},
|
||||||
|
{NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,55 @@
|
|||||||
|
/*
|
||||||
|
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 "Python.h"
|
||||||
|
#include "UnionBase.cpp"
|
||||||
|
#include "DF_API.cpp"
|
||||||
|
|
||||||
|
#ifndef PyMODINIT_FUNC
|
||||||
|
#define PyMODINIT_FUNC void
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static PyMethodDef module_methods[] =
|
||||||
|
{
|
||||||
|
{NULL} //Sentinel
|
||||||
|
};
|
||||||
|
|
||||||
|
PyMODINIT_FUNC initpydfhack(void)
|
||||||
|
{
|
||||||
|
PyObject* module;
|
||||||
|
|
||||||
|
if(PyType_Ready(&UnionBase_type) < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(PyType_Ready(&DF_API_type) < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
module = Py_InitModule3("pydfhack", module_methods, "pydfhack extension module");
|
||||||
|
|
||||||
|
Py_INCREF(&UnionBase_type);
|
||||||
|
Py_INCREF(&DF_API_type);
|
||||||
|
|
||||||
|
PyModule_AddObject(module, "UnionBase", (PyObject*)&UnionBase_type);
|
||||||
|
PyModule_AddObject(module, "API", (PyObject*)&DF_API_type);
|
||||||
|
}
|
@ -0,0 +1,423 @@
|
|||||||
|
from pydfhack import *
|
||||||
|
|
||||||
|
class DFAPI(API):
|
||||||
|
def Read_Designations(self, x, y, z):
|
||||||
|
d_list = [DesignationFlags(d) for d in API.Read_Designations(self, x, y, z)]
|
||||||
|
|
||||||
|
return d_list
|
||||||
|
def Read_Occupancy(self, x, y, z):
|
||||||
|
o_list = [OccupancyFlags(o) for o in API.Read_Occupancy(self, x, y, z)]
|
||||||
|
|
||||||
|
return o_list
|
||||||
|
|
||||||
|
class CreatureFlags1(_UnionBase):
|
||||||
|
move_state = property(fget = lambda self: self._get_mask_bit(0),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(0, val))
|
||||||
|
dead = property(fget = lambda self: self._get_mask_bit(1),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(1, val))
|
||||||
|
has_mood = property(fget = lambda self: self._get_mask_bit(2),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(2, val))
|
||||||
|
had_mood = property(fget = lambda self: self._get_mask_bit(3),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(3, val))
|
||||||
|
|
||||||
|
marauder = property(fget = lambda self: self._get_mask_bit(4),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(4, val))
|
||||||
|
drowning = property(fget = lambda self: self._get_mask_bit(5),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(5, val))
|
||||||
|
merchant = property(fget = lambda self: self._get_mask_bit(6),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(6, val))
|
||||||
|
forest = property(fget = lambda self: self._get_mask_bit(7),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(7, val))
|
||||||
|
|
||||||
|
left = property(fget = lambda self: self._get_mask_bit(8),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(8, val))
|
||||||
|
rider = property(fget = lambda self: self._get_mask_bit(9),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(9, val))
|
||||||
|
incoming = property(fget = lambda self: self._get_mask_bit(10),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(10, val))
|
||||||
|
diplomat = property(fget = lambda self: self._get_mask_bit(11),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(11, val))
|
||||||
|
|
||||||
|
zombie = property(fget = lambda self: self._get_mask_bit(12),
|
||||||
|
fset = lambda self: self._set_mask_bit(12, val))
|
||||||
|
skeleton = property(fget = lambda self: self._get_mask_bit(13),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(13, val))
|
||||||
|
can_swap = property(fget = lambda self: self._get_mask_bit(14),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(14, val))
|
||||||
|
on_ground = property(fget = lambda self: self._get_mask_bit(15),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(15, val))
|
||||||
|
|
||||||
|
projectile = property(fget = lambda self: self._get_mask_bit(16),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(16, val))
|
||||||
|
active_invader = property(fget = lambda self: self._get_mask_bit(17),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(17, val))
|
||||||
|
hidden_in_ambush = property(fget = lambda self: self._get_mask_bit(18),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(18, val))
|
||||||
|
invader_origin = property(fget = lambda self: self._get_mask_bit(19),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(19, val))
|
||||||
|
|
||||||
|
coward = property(fget = lambda self: self._get_mask_bit(20),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(20, val))
|
||||||
|
hidden_ambusher = property(fget = lambda self: self._get_mask_bit(21),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(21, val))
|
||||||
|
invades = property(fget = lambda self: self._get_mask_bit(22),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(22, val))
|
||||||
|
check_flows = property(fget = lambda self: self._get_mask_bit(23),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(23, val))
|
||||||
|
|
||||||
|
ridden = property(fget = lambda self: self._get_mask_bit(24),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(24, val))
|
||||||
|
caged = property(fget = lambda self: self._get_mask_bit(25),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(25, val))
|
||||||
|
tame = property(fget = lambda self: self._get_mask_bit(26),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(26, val))
|
||||||
|
chained = property(fget = lambda self: self._get_mask_bit(27),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(27, val))
|
||||||
|
|
||||||
|
royal_guard = property(fget = lambda self: self._get_mask_bit(28),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(28, val))
|
||||||
|
fortress_guard = property(fget = lambda self: self._get_mask_bit(29),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(29, val))
|
||||||
|
suppress_wield = property(fget = lambda self: self._get_mask_bit(30),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(30, val))
|
||||||
|
important_historial_figure = property(fget = lambda self: self._get_mask_bit(31),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(31, val))
|
||||||
|
|
||||||
|
class CreatureFlags2(_UnionBase):
|
||||||
|
swimming = property(fget = lambda self: self._get_mask_bit(0),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(0, val))
|
||||||
|
sparring = property(fget = lambda self: self._get_mask_bit(1),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(1, val))
|
||||||
|
no_notify = property(fget = lambda self: self._get_mask_bit(2),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(2, val))
|
||||||
|
unused = property(fget = lambda self: self._get_mask_bit(3),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(3, val))
|
||||||
|
|
||||||
|
calculated_nerves = property(fget = lambda self: self._get_mask_bit(4),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(4, val))
|
||||||
|
calculated_bodyparts = property(fget = lambda self: self._get_mask_bit(5),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(5, val))
|
||||||
|
important_historical_figure = property(fget = lambda self: self._get_mask_bit(6),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(6, val))
|
||||||
|
killed = property(fget = lambda self: self._get_mask_bit(7),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(7, val))
|
||||||
|
|
||||||
|
cleanup_1 = property(fget = lambda self: self._get_mask_bit(8),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(8, val))
|
||||||
|
cleanup_2 = property(fget = lambda self: self._get_mask_bit(9),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(9, val))
|
||||||
|
cleanup_3 = property(fget = lambda self: self._get_mask_bit(10),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(10, val))
|
||||||
|
for_trade = property(fget = lambda self: self._get_mask_bit(11),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(11, val))
|
||||||
|
|
||||||
|
trade_resolved = property(fget = lambda self: self._get_mask_bit(12),
|
||||||
|
fset = lambda self: self._set_mask_bit(12, val))
|
||||||
|
has_breaks = property(fget = lambda self: self._get_mask_bit(13),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(13, val))
|
||||||
|
gutted = property(fget = lambda self: self._get_mask_bit(14),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(14, val))
|
||||||
|
circulatory_spray = property(fget = lambda self: self._get_mask_bit(15),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(15, val))
|
||||||
|
|
||||||
|
locked_in_for_trading = property(fget = lambda self: self._get_mask_bit(16),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(16, val))
|
||||||
|
slaughter = property(fget = lambda self: self._get_mask_bit(17),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(17, val))
|
||||||
|
underworld = property(fget = lambda self: self._get_mask_bit(18),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(18, val))
|
||||||
|
resident = property(fget = lambda self: self._get_mask_bit(19),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(19, val))
|
||||||
|
|
||||||
|
cleanup_4 = property(fget = lambda self: self._get_mask_bit(20),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(20, val))
|
||||||
|
calculated_insulation = property(fget = lambda self: self._get_mask_bit(21),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(21, val))
|
||||||
|
visitor_uninvited = property(fget = lambda self: self._get_mask_bit(22),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(22, val))
|
||||||
|
visitor = property(fget = lambda self: self._get_mask_bit(23),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(23, val))
|
||||||
|
|
||||||
|
calculated_inventory = property(fget = lambda self: self._get_mask_bit(24),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(24, val))
|
||||||
|
vision_good = property(fget = lambda self: self._get_mask_bit(25),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(25, val))
|
||||||
|
vision_damaged = property(fget = lambda self: self._get_mask_bit(26),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(26, val))
|
||||||
|
vision_missing = property(fget = lambda self: self._get_mask_bit(27),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(27, val))
|
||||||
|
|
||||||
|
breathing_good = property(fget = lambda self: self._get_mask_bit(28),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(28, val))
|
||||||
|
breathing_problem = property(fget = lambda self: self._get_mask_bit(29),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(29, val))
|
||||||
|
roaming_wilderness_population_source = property(fget = lambda self: self._get_mask_bit(30),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(30, val))
|
||||||
|
roaming_wilderness_population_source_not_a_map_feature = property(fget = lambda self: self._get_mask_bit(31),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(31, val))
|
||||||
|
|
||||||
|
class ItemFlags(_UnionBase):
|
||||||
|
on_ground = property(fget = lambda self: self._get_mask_bit(0),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(0, val))
|
||||||
|
in_job = property(fget = lambda self: self._get_mask_bit(1),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(1, val))
|
||||||
|
in_inventory = property(fget = lambda self: self._get_mask_bit(2),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(2, val))
|
||||||
|
u_ngrd1 = property(fget = lambda self: self._get_mask_bit(3),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(3, val))
|
||||||
|
|
||||||
|
in_workshop = property(fget = lambda self: self._get_mask_bit(4),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(4, val))
|
||||||
|
u_ngrd2 = property(fget = lambda self: self._get_mask_bit(5),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(5, val))
|
||||||
|
u_ngrd3 = property(fget = lambda self: self._get_mask_bit(6),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(6, val))
|
||||||
|
rotten = property(fget = lambda self: self._get_mask_bit(7),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(7, val))
|
||||||
|
|
||||||
|
unk1 = property(fget = lambda self: self._get_mask_bit(8),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(8, val))
|
||||||
|
u_ngrd4 = property(fget = lambda self: self._get_mask_bit(9),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(9, val))
|
||||||
|
unk2 = property(fget = lambda self: self._get_mask_bit(10),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(10, val))
|
||||||
|
u_ngrd5 = property(fget = lambda self: self._get_mask_bit(11),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(11, val))
|
||||||
|
|
||||||
|
unk3 = property(fget = lambda self: self._get_mask_bit(12),
|
||||||
|
fset = lambda self: self._set_mask_bit(12, val))
|
||||||
|
u_ngrd6 = property(fget = lambda self: self._get_mask_bit(13),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(13, val))
|
||||||
|
narrow = property(fget = lambda self: self._get_mask_bit(14),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(14, val))
|
||||||
|
u_ngrd7 = property(fget = lambda self: self._get_mask_bit(15),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(15, val))
|
||||||
|
|
||||||
|
worn = property(fget = lambda self: self._get_mask_bit(16),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(16, val))
|
||||||
|
unk4 = property(fget = lambda self: self._get_mask_bit(17),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(17, val))
|
||||||
|
u_ngrd8 = property(fget = lambda self: self._get_mask_bit(18),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(18, val))
|
||||||
|
forbid = property(fget = lambda self: self._get_mask_bit(19),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(19, val))
|
||||||
|
|
||||||
|
unk5 = property(fget = lambda self: self._get_mask_bit(20),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(20, val))
|
||||||
|
dump = property(fget = lambda self: self._get_mask_bit(21),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(21, val))
|
||||||
|
on_fire = property(fget = lambda self: self._get_mask_bit(22),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(22, val))
|
||||||
|
melt = property(fget = lambda self: self._get_mask_bit(23),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(23, val))
|
||||||
|
|
||||||
|
hidden = property(fget = lambda self: self._get_mask_bit(24),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(24, val))
|
||||||
|
u_ngrd9 = property(fget = lambda self: self._get_mask_bit(25),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(25, val))
|
||||||
|
unk6 = property(fget = lambda self: self._get_mask_bit(26),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(26, val))
|
||||||
|
unk7 = property(fget = lambda self: self._get_mask_bit(27),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(27, val))
|
||||||
|
|
||||||
|
unk8 = property(fget = lambda self: self._get_mask_bit(28),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(28, val))
|
||||||
|
unk9 = property(fget = lambda self: self._get_mask_bit(29),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(29, val))
|
||||||
|
unk10 = property(fget = lambda self: self._get_mask_bit(30),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(30, val))
|
||||||
|
unk11 = property(fget = lambda self: self._get_mask_bit(31),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(31, val))
|
||||||
|
|
||||||
|
dig_types = { "no" : 0,
|
||||||
|
"default" : 1,
|
||||||
|
"ud_stair" : 2,
|
||||||
|
"channel" : 3,
|
||||||
|
"ramp" : 4,
|
||||||
|
"d_stair" : 5,
|
||||||
|
"u_stair" : 6,
|
||||||
|
"whatever" : 7 }
|
||||||
|
|
||||||
|
traffic_types = { "normal" : 0,
|
||||||
|
"low" : 1,
|
||||||
|
"high" : 2,
|
||||||
|
"restricted" : 3 }
|
||||||
|
|
||||||
|
class DesignationFlags(_UnionBase):
|
||||||
|
def dig(self, dig_type):
|
||||||
|
if dig_type == "no":
|
||||||
|
self.dig_1 = False; self.dig_2 = False; self.dig_3 = False
|
||||||
|
elif dig_type == "default":
|
||||||
|
self.dig_1 = True; self.dig_2 = False; self.dig_3 = False
|
||||||
|
elif dig_type == "ud_stair":
|
||||||
|
self.dig_1 = False; self.dig_2 = True; self.dig_3 = False
|
||||||
|
elif dig_type == "channel":
|
||||||
|
self.dig_1 = True; self.dig_2 = True; self.dig_3 = False
|
||||||
|
elif dig_type == "ramp":
|
||||||
|
self.dig_1 = False; self.dig_2 = False; self.dig_3 = True
|
||||||
|
elif dig_type == "d_stair":
|
||||||
|
self.dig_1 = True; self.dig_2 = False; self.dig_3 = True
|
||||||
|
elif dig_type == "u_stair":
|
||||||
|
self.dig_1 = False; self.dig_2 = True; self.dig_3 = True
|
||||||
|
elif dig_type == "whatever":
|
||||||
|
self.dig_1 = True; self.dig_2 = True; self.dig_3 = True
|
||||||
|
|
||||||
|
def set_traffic(self, traffic_type):
|
||||||
|
if traffic_type == "normal":
|
||||||
|
self.traffic_1 = False; self.traffic_2 = False
|
||||||
|
elif traffic_type == "low":
|
||||||
|
self.traffic_1 = True; self.traffic_2 = False
|
||||||
|
elif traffic_type == "high":
|
||||||
|
self.traffic_1 = False; self.traffic_2 = True
|
||||||
|
elif traffic_type == "restricted":
|
||||||
|
self.traffic_1 = True; self.traffic_2 = True
|
||||||
|
|
||||||
|
flow_size_1 = property(fget = lambda self: self._get_mask_bit(0),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(0, val))
|
||||||
|
flow_size_2 = property(fget = lambda self: self._get_mask_bit(1),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(1, val))
|
||||||
|
flow_size_3 = property(fget = lambda self: self._get_mask_bit(2),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(2, val))
|
||||||
|
pile = property(fget = lambda self: self._get_mask_bit(3),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(3, val))
|
||||||
|
|
||||||
|
dig_1 = property(fget = lambda self: self._get_mask_bit(4),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(4, val))
|
||||||
|
dig_2 = property(fget = lambda self: self._get_mask_bit(5),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(5, val))
|
||||||
|
dig_3 = property(fget = lambda self: self._get_mask_bit(6),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(6, val))
|
||||||
|
smooth_1 = property(fget = lambda self: self._get_mask_bit(7),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(7, val))
|
||||||
|
|
||||||
|
smooth_2 = property(fget = lambda self: self._get_mask_bit(8),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(8, val))
|
||||||
|
hidden = property(fget = lambda self: self._get_mask_bit(9),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(9, val))
|
||||||
|
geolayer_index_1 = property(fget = lambda self: self._get_mask_bit(10),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(10, val))
|
||||||
|
geolayer_index_2 = property(fget = lambda self: self._get_mask_bit(11),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(11, val))
|
||||||
|
|
||||||
|
geolayer_index_3 = property(fget = lambda self: self._get_mask_bit(12),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(12, val))
|
||||||
|
geolayer_index_4 = property(fget = lambda self: self._get_mask_bit(13),
|
||||||
|
fset = lambda self: self._set_mask_bit(13, val))
|
||||||
|
light = property(fget = lambda self: self._get_mask_bit(14),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(14, val))
|
||||||
|
subterranean = property(fget = lambda self: self._get_mask_bit(15),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(15, val))
|
||||||
|
|
||||||
|
skyview = property(fget = lambda self: self._get_mask_bit(16),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(16, val))
|
||||||
|
biome_1 = property(fget = lambda self: self._get_mask_bit(17),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(17, val))
|
||||||
|
biome_2 = property(fget = lambda self: self._get_mask_bit(18),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(18, val))
|
||||||
|
biome_3 = property(fget = lambda self: self._get_mask_bit(19),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(19, val))
|
||||||
|
|
||||||
|
biome_4 = property(fget = lambda self: self._get_mask_bit(20),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(20, val))
|
||||||
|
liquid_type = property(fget = lambda self: self._get_mask_bit(21),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(21, val))
|
||||||
|
water_table = property(fget = lambda self: self._get_mask_bit(22),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(22, val))
|
||||||
|
rained = property(fget = lambda self: self._get_mask_bit(23),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(23, val))
|
||||||
|
|
||||||
|
traffic_1 = property(fget = lambda self: self._get_mask_bit(24),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(24, val))
|
||||||
|
traffic_2 = property(fget = lambda self: self._get_mask_bit(25),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(25, val))
|
||||||
|
flow_forbid = property(fget = lambda self: self._get_mask_bit(26),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(26, val))
|
||||||
|
liquid_static = property(fget = lambda self: self._get_mask_bit(27),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(27, val))
|
||||||
|
|
||||||
|
moss = property(fget = lambda self: self._get_mask_bit(28),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(28, val))
|
||||||
|
feature_present = property(fget = lambda self: self._get_mask_bit(29),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(29, val))
|
||||||
|
liquid_character_1 = property(fget = lambda self: self._get_mask_bit(30),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(30, val))
|
||||||
|
liquid_character_2 = property(fget = lambda self: self._get_mask_bit(31),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(31, val))
|
||||||
|
|
||||||
|
class OccupancyFlags(_UnionBase):
|
||||||
|
def set_splatter(self, state):
|
||||||
|
if state:
|
||||||
|
self.whole &= 0xFFFFFFC0
|
||||||
|
else:
|
||||||
|
self.whole &= ~0xFFFFFFC0
|
||||||
|
building_1 = property(fget = lambda self: self._get_mask_bit(0),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(0, val))
|
||||||
|
building_2 = property(fget = lambda self: self._get_mask_bit(1),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(1, val))
|
||||||
|
building_3 = property(fget = lambda self: self._get_mask_bit(2),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(2, val))
|
||||||
|
unit = property(fget = lambda self: self._get_mask_bit(3),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(3, val))
|
||||||
|
|
||||||
|
unit_grounded = property(fget = lambda self: self._get_mask_bit(4),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(4, val))
|
||||||
|
item = property(fget = lambda self: self._get_mask_bit(5),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(5, val))
|
||||||
|
mud = property(fget = lambda self: self._get_mask_bit(6),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(6, val))
|
||||||
|
vomit = property(fget = lambda self: self._get_mask_bit(7),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(7, val))
|
||||||
|
|
||||||
|
broken_arrows_color_1 = property(fget = lambda self: self._get_mask_bit(8),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(8, val))
|
||||||
|
broken_arrows_color_2 = property(fget = lambda self: self._get_mask_bit(9),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(9, val))
|
||||||
|
broken_arrows_color_3 = property(fget = lambda self: self._get_mask_bit(10),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(10, val))
|
||||||
|
broken_arrows_color_4 = property(fget = lambda self: self._get_mask_bit(11),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(11, val))
|
||||||
|
|
||||||
|
blood_g = property(fget = lambda self: self._get_mask_bit(12),
|
||||||
|
fset = lambda self: self._set_mask_bit(12, val))
|
||||||
|
blood_g2 = property(fget = lambda self: self._get_mask_bit(13),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(13, val))
|
||||||
|
blood_b = property(fget = lambda self: self._get_mask_bit(14),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(14, val))
|
||||||
|
blood_b2 = property(fget = lambda self: self._get_mask_bit(15),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(15, val))
|
||||||
|
|
||||||
|
blood_y = property(fget = lambda self: self._get_mask_bit(16),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(16, val))
|
||||||
|
blood_y2 = property(fget = lambda self: self._get_mask_bit(17),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(17, val))
|
||||||
|
blood_m = property(fget = lambda self: self._get_mask_bit(18),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(18, val))
|
||||||
|
blood_m2 = property(fget = lambda self: self._get_mask_bit(19),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(19, val))
|
||||||
|
|
||||||
|
blood_c = property(fget = lambda self: self._get_mask_bit(20),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(20, val))
|
||||||
|
blood_c2 = property(fget = lambda self: self._get_mask_bit(21),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(21, val))
|
||||||
|
blood_w = property(fget = lambda self: self._get_mask_bit(22),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(22, val))
|
||||||
|
blood_w2 = property(fget = lambda self: self._get_mask_bit(23),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(23, val))
|
||||||
|
|
||||||
|
blood_o = property(fget = lambda self: self._get_mask_bit(24),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(24, val))
|
||||||
|
blood_o2 = property(fget = lambda self: self._get_mask_bit(25),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(25, val))
|
||||||
|
slime = property(fget = lambda self: self._get_mask_bit(26),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(26, val))
|
||||||
|
slime2 = property(fget = lambda self: self._get_mask_bit(27),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(27, val))
|
||||||
|
|
||||||
|
blood = property(fget = lambda self: self._get_mask_bit(28),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(28, val))
|
||||||
|
blood2 = property(fget = lambda self: self._get_mask_bit(29),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(29, val))
|
||||||
|
broken_arrows_variant = property(fget = lambda self: self._get_mask_bit(30),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(30, val))
|
||||||
|
snow = property(fget = lambda self: self._get_mask_bit(31),
|
||||||
|
fset = lambda self, val: self._set_mask_bit(31, val))
|
@ -0,0 +1,9 @@
|
|||||||
|
from distutils.core import setup, Extension
|
||||||
|
|
||||||
|
e = Extension("pydfhack",
|
||||||
|
sources=["UnionBase.cpp", "pydfhack.cpp", "DF_API.cpp"],
|
||||||
|
include_dirs=["..\\"],
|
||||||
|
library_dirs=["..\\..\\output"],
|
||||||
|
libraries=["libdfhack"])
|
||||||
|
|
||||||
|
setup(name="PyDFHack", version="1.0", ext_modules=[e])
|
@ -0,0 +1 @@
|
|||||||
|
import pydfhack
|
Loading…
Reference in New Issue