doxygen: prevent GPL license block from being parsed as doxygen comment.
[blender.git] / source / gameengine / GameLogic / SCA_NORController.cpp
index 06acae5a81a4cf36899ab3153433af8fdcc094f2..d2951b48ea995d654ea7cfd44a961b302f84d1cf 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*
  * 'Nor' together all inputs
  *
  * $Id$
  * '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,
  *
  * 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.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
 #include "SCA_LogicManager.h"
 #include "BoolValue.h"
 
 #include "SCA_LogicManager.h"
 #include "BoolValue.h"
 
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
 /* ------------------------------------------------------------------------- */
 /* Native functions                                                          */
 /* ------------------------------------------------------------------------- */
 
 /* ------------------------------------------------------------------------- */
 /* 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;
        !(is==m_linkedsensors.end());is++)
        {
                SCA_ISensor* sensor = *is;
-               if (sensor->IsPositiveTrigger())
+               if (sensor->GetState())
                {
                        sensorresult = false;
                        break;
                }
        }
        
                {
                        sensorresult = false;
                        break;
                }
        }
        
-       CValue* newevent = new CBoolValue(sensorresult);
-
        for (vector<SCA_IActuator*>::const_iterator i=m_linkedactuators.begin();
        !(i==m_linkedactuators.end());i++)
        {
        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();
-
 }
 
 
 }
 
 
@@ -94,12 +82,12 @@ CValue* SCA_NORController::GetReplica()
 {
        CValue* replica = new SCA_NORController(*this);
        // this will copy properties and so on...
 {
        CValue* replica = new SCA_NORController(*this);
        // this will copy properties and so on...
-       CValue::AddDataToReplica(replica);
+       replica->ProcessReplica();
 
        return replica;
 }
 
 
        return replica;
 }
 
-
+#ifdef WITH_PYTHON
 
 /* ------------------------------------------------------------------------- */
 /* Python functions                                                          */
 
 /* ------------------------------------------------------------------------- */
 /* Python functions                                                          */
@@ -107,8 +95,7 @@ CValue* SCA_NORController::GetReplica()
 
 /* Integration hooks ------------------------------------------------------- */
 PyTypeObject SCA_NORController::Type = {
 
 /* Integration hooks ------------------------------------------------------- */
 PyTypeObject SCA_NORController::Type = {
-       PyObject_HEAD_INIT(NULL)
-       0,
+       PyVarObject_HEAD_INIT(NULL, 0)
        "SCA_NORController",
        sizeof(PyObjectPlus_Proxy),
        0,
        "SCA_NORController",
        sizeof(PyObjectPlus_Proxy),
        0,
@@ -118,19 +105,15 @@ PyTypeObject SCA_NORController::Type = {
        0,
        0,
        py_base_repr,
        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,
        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_IController::Type,
-       &SCA_ILogicBrick::Type,
-       &CValue::Type,
-       NULL
+       0,0,0,0,0,0,
+       py_base_new
 };
 
 PyMethodDef SCA_NORController::Methods[] = {
 };
 
 PyMethodDef SCA_NORController::Methods[] = {
@@ -141,8 +124,6 @@ PyAttributeDef SCA_NORController::Attributes[] = {
        { NULL }        //Sentinel
 };
 
        { NULL }        //Sentinel
 };
 
-PyObject* SCA_NORController::py_getattro(PyObject *attr) {
-       py_getattro_up(SCA_IController);
-}
+#endif // WITH_PYTHON
 
 /* eof */
 
 /* eof */