mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
If you pick this up you need to re interigate every thing you have
This commit is contained in:
parent
3c903dbd77
commit
ad4aa44a6b
@ -23,9 +23,9 @@
|
||||
|
||||
PyMemberDef standard_type_members[] = {
|
||||
{"this", T_INT, offsetof(Dtool_PyInstDef,_ptr_to_object),READONLY,"C++ This if any"},
|
||||
{"this_ownership", T_INT, offsetof(Dtool_PyInstDef, _memory_rules), READONLY,"C++ 'this' ownership rules"},
|
||||
{"this_const", T_INT, offsetof(Dtool_PyInstDef, _is_const), READONLY,"C++ 'this' const flag"},
|
||||
{"this_signature", T_INT, offsetof(Dtool_PyInstDef, _signature), READONLY,"A type check signature"},
|
||||
// {"this_ownership", T_INT, offsetof(Dtool_PyInstDef, _memory_rules), READONLY,"C++ 'this' ownership rules"},
|
||||
// {"this_const", T_INT, offsetof(Dtool_PyInstDef, _is_const), READONLY,"C++ 'this' const flag"},
|
||||
// {"this_signature", T_INT, offsetof(Dtool_PyInstDef, _signature), READONLY,"A type check signature"},
|
||||
{"this_metatype", T_OBJECT, offsetof(Dtool_PyInstDef, _My_Type), READONLY,"The dtool meta object"},
|
||||
{NULL} /* Sentinel */
|
||||
};
|
||||
|
@ -61,6 +61,8 @@
|
||||
|
||||
using namespace std;
|
||||
|
||||
#define PY_PANDA_SMALLER_FOOTPRINT 1
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// this is tempory .. untill this is glued better into the panda build system
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
@ -84,7 +86,7 @@ EXPCL_DTOOLCONFIG RunTimeTypeList & GetRunTimeTypeList();
|
||||
|
||||
//////////////////////////////////////////////////////////
|
||||
// used to stamp dtool instance..
|
||||
#define PY_PANDA_SIGNATURE 0xdeadbeaf
|
||||
#define PY_PANDA_SIGNATURE 0xbeaf
|
||||
typedef void * ( * ConvertFunctionType )(PyObject *,Dtool_PyTypedObject * );
|
||||
typedef void * ( * ConvertFunctionType1 )(void *, Dtool_PyTypedObject *);
|
||||
typedef void ( *FreeFunction )(PyObject *);
|
||||
@ -96,6 +98,21 @@ inline void Dtool_Deallocate_General(PyObject * self);
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// THIS IS THE INSTANCE CONTAINER FOR ALL panda py objects....
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
#ifdef PY_PANDA_SMALLER_FOOTPRINT
|
||||
// this should save 8 bytes per object ....
|
||||
struct Dtool_PyInstDef
|
||||
{
|
||||
PyObject_HEAD
|
||||
void *_ptr_to_object;
|
||||
struct Dtool_PyTypedObject *_My_Type;
|
||||
unsigned short _signature ;
|
||||
int _memory_rules : 1; // true if we own the pointer and should delete it or unref it
|
||||
int _is_const : 1; // true if this is a "const" pointer.
|
||||
};
|
||||
|
||||
|
||||
|
||||
#else
|
||||
struct Dtool_PyInstDef {
|
||||
PyObject_HEAD
|
||||
void *_ptr_to_object;
|
||||
@ -104,6 +121,7 @@ struct Dtool_PyInstDef {
|
||||
unsigned long _signature;
|
||||
struct Dtool_PyTypedObject *_My_Type;
|
||||
};
|
||||
#endif
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// A Offset Dictionary Defining How to read the Above Object..
|
||||
|
Loading…
x
Reference in New Issue
Block a user