doxygen: prevent GPL license block from being parsed as doxygen comment.
[blender.git] / source / gameengine / GameLogic / SCA_NORController.cpp
index a0e9fcb..d2951b4 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*
  * 'Nor' together all inputs
  *
  * $Id$
@@ -17,7 +17,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
 #include "SCA_LogicManager.h"
 #include "BoolValue.h"
 
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
 /* ------------------------------------------------------------------------- */
 /* Native functions                                                          */
 /* ------------------------------------------------------------------------- */
 
-SCA_NORController::SCA_NORController(SCA_IObject* gameobj,
-                                                                        PyTypeObject* T)
+SCA_NORController::SCA_NORController(SCA_IObject* gameobj)
        :
-       SCA_IController(gameobj,T)
+       SCA_IController(gameobj)
 {
 }
 
@@ -66,26 +61,19 @@ void SCA_NORController::Trigger(SCA_LogicManager* logicmgr)
        !(is==m_linkedsensors.end());is++)
        {
                SCA_ISensor* sensor = *is;
-               if (sensor->IsPositiveTrigger())
+               if (sensor->GetState())
                {
                        sensorresult = false;
                        break;
                }
        }
        
-       CValue* newevent = new CBoolValue(sensorresult);
-
        for (vector<SCA_IActuator*>::const_iterator i=m_linkedactuators.begin();
        !(i==m_linkedactuators.end());i++)
        {
-               SCA_IActuator* actua = *i;//m_linkedactuators.at(i);
-               logicmgr->AddActiveActuator(actua,newevent);
+               SCA_IActuator* actua = *i;
+               logicmgr->AddActiveActuator(actua,sensorresult);
        }
-
-       // every actuator that needs the event, has a it's own reference to it now so
-       // release it (so to be clear: if there is no actuator, it's deleted right now)
-       newevent->Release();
-
 }
 
 
@@ -99,7 +87,7 @@ CValue* SCA_NORController::GetReplica()
        return replica;
 }
 
-
+#ifdef WITH_PYTHON
 
 /* ------------------------------------------------------------------------- */
 /* Python functions                                                          */
@@ -107,13 +95,7 @@ CValue* SCA_NORController::GetReplica()
 
 /* Integration hooks ------------------------------------------------------- */
 PyTypeObject SCA_NORController::Type = {
-#if (PY_VERSION_HEX >= 0x02060000)
        PyVarObject_HEAD_INIT(NULL, 0)
-#else
-       /* python 2.5 and below */
-       PyObject_HEAD_INIT( NULL )  /* required py macro */
-       0,                          /* ob_size */
-#endif
        "SCA_NORController",
        sizeof(PyObjectPlus_Proxy),
        0,
@@ -123,19 +105,15 @@ PyTypeObject SCA_NORController::Type = {
        0,
        0,
        py_base_repr,
-       0,0,0,0,0,0,
-       py_base_getattro,
-       py_base_setattro,
        0,0,0,0,0,0,0,0,0,
-       Methods
-};
-
-PyParentObject SCA_NORController::Parents[] = {
-       &SCA_NORController::Type,
+       Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
+       0,0,0,0,0,0,0,
+       Methods,
+       0,
+       0,
        &SCA_IController::Type,
-       &SCA_ILogicBrick::Type,
-       &CValue::Type,
-       NULL
+       0,0,0,0,0,0,
+       py_base_new
 };
 
 PyMethodDef SCA_NORController::Methods[] = {
@@ -146,12 +124,6 @@ PyAttributeDef SCA_NORController::Attributes[] = {
        { NULL }        //Sentinel
 };
 
-PyObject* SCA_NORController::py_getattro(PyObject *attr) {
-       py_getattro_up(SCA_IController);
-}
-
-PyObject* SCA_NORController::py_getattro_dict() {
-       py_getattro_dict_up(SCA_IController);
-}
+#endif // WITH_PYTHON
 
 /* eof */