- Avoid some expensive SDL_GetTicks() calls
[supertux.git] / src / squirrel / squirrel / sqobject.h
index 230ed4c..c448913 100644 (file)
@@ -27,7 +27,9 @@ enum SQMetaMethod{
        MT_NEWSLOT=13,\r
        MT_DELSLOT=14,\r
        MT_TOSTRING=15,\r
-       MT_LAST = 16,\r
+       MT_NEWMEMBER=16,\r
+       MT_INHERITED=17,\r
+       MT_LAST = 18\r
 };\r
 \r
 #define MM_ADD         _SC("_add")\r
@@ -46,13 +48,15 @@ enum SQMetaMethod{
 #define MM_NEWSLOT     _SC("_newslot")\r
 #define MM_DELSLOT     _SC("_delslot")\r
 #define MM_TOSTRING    _SC("_tostring")\r
+#define MM_NEWMEMBER _SC("_newmember")\r
+#define MM_INHERITED _SC("_inherited")\r
 \r
 #define MINPOWER2 4\r
 \r
 struct SQRefCounted\r
 {\r
        SQRefCounted() { _uiRef = 0; _weakref = NULL; }\r
-       ~SQRefCounted();\r
+       virtual ~SQRefCounted();\r
        SQWeakRef *GetWeakRef(SQObjectType type);\r
        SQUnsignedInteger _uiRef;\r
        struct SQWeakRef *_weakref;\r
@@ -315,7 +319,7 @@ struct SQCollectable : public SQRefCounted {
 \r
 struct SQDelegable : public CHAINABLE_OBJ {\r
        bool SetDelegate(SQTable *m);\r
-       virtual bool GetMetaMethod(SQMetaMethod mm,SQObjectPtr &res);\r
+       virtual bool GetMetaMethod(SQVM *v,SQMetaMethod mm,SQObjectPtr &res);\r
        SQTable *_delegate;\r
 };\r
 \r
@@ -323,4 +327,5 @@ SQUnsignedInteger TranslateIndex(const SQObjectPtr &idx);
 typedef sqvector<SQObjectPtr> SQObjectPtrVec;\r
 typedef sqvector<SQInteger> SQIntVec;\r
 \r
+\r
 #endif //_SQOBJECT_H_\r