bool InitialiseFramework( PyObject* a_pModule ) { bool bSuccess = false; PyObject* pInitialise = GetHandleToPythonFunction( a_pModule, "PyInitialise" ); if( pInitialise ) { PyObject* pReturnValue = CallPythonFunction( pInitialise, nullptr ); if( pReturnValue ) { int iWidth; int iHeight; bool bFullscreen; char* windowTitle; if (!PyArg_ParseTuple(pReturnValue, "iibs", &iWidth, &iHeight, &bFullscreen, &windowTitle)) { ParsePyTupleError( __func__, __LINE__ ); } Py_DECREF(pReturnValue); int titleLength = strlen(windowTitle); g_pWindowTitle = new char[titleLength+1]; memcpy(g_pWindowTitle, windowTitle, titleLength); g_pWindowTitle[titleLength] = '\0'; bSuccess = ( Initialise( iWidth, iHeight, bFullscreen, g_pWindowTitle) == 0 ); } Py_XDECREF(pInitialise); } return bSuccess; }
// Destroy The Particle PyObject* Python::B2D_DestroyParticle (PyObject* Self, PyObject* Args){ // Create Variables int particleType, particleReference; // Look For Errors if (!PyArg_ParseTuple (Args, "ii", &particleType, &particleReference)){ ParsePyTupleError (__func__, __LINE__); } // Set Function if (particleType == 0){ Python::particlePointList[particleReference].Destroy(); // Remove From List Python::particlePointList.erase (Python::particlePointList.begin() + particleReference); } else{ Python::particleLineList[particleReference].Destroy(); // Remove From List Python::particleLineList.erase (Python::particleLineList.begin() + particleReference); } Py_RETURN_NONE; }
//--------------------------- Sound PyObject* LMF_SoundLoad (PyObject *self, PyObject *args){ char* cPath; if (!PyArg_ParseTuple(args, "s", &cPath)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } int SoundID = SoundLoad(cPath); return Py_BuildValue("i", SoundID); }
PyObject* LMF_CameraRotate(PyObject *self, PyObject *args){ float fRot; if (!PyArg_ParseTuple(args, "f", &fRot)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } CameraRotate(fRot); Py_RETURN_NONE; }
PyObject* LMF_ControllerVibrate (PyObject *self, PyObject *args){ int iControllerID,iLVal,iRVal; if (!PyArg_ParseTuple(args, "iii", &iControllerID, &iLVal, &iRVal)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } ControllerVibrate(iControllerID,iLVal,iRVal); Py_RETURN_NONE; }
PyObject* LMF_FrameworkBlendMode(PyObject *self, PyObject *args){ int iBegin, iFinal, iEqu; if (!PyArg_ParseTuple(args, "iii", &iBegin, &iFinal, &iEqu)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } FrameworkBlendMode(iBegin,iFinal,iEqu); Py_RETURN_NONE; }
PyObject* LMF_ControllerRemove (PyObject *self, PyObject *args){ int iControllerID; if (!PyArg_ParseTuple(args, "i", &iControllerID)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } ControllerRemove(iControllerID); Py_RETURN_NONE; }
PyObject* LMF_SoundVolumeMain(PyObject *self, PyObject *args){ float fVol; if (!PyArg_ParseTuple(args, "f", &fVol)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } SoundVolumeMain(fVol); Py_RETURN_NONE; }
PyObject* LMF_ShaderUnload(PyObject *self, PyObject *args){ int ShaderID; if (!PyArg_ParseTuple(args, "i", &ShaderID)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } ShaderUnload(ShaderID); Py_RETURN_NONE; }
PyObject* LMF_FontUnload(PyObject *self, PyObject *args){ unsigned int FontID; if (!PyArg_ParseTuple(args, "i", &FontID)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } FontUnload(FontID); Py_RETURN_NONE; }
//--------------------------- Fonts PyObject* LMF_FontLoad(PyObject *self, PyObject *args){ char* path; if (!PyArg_ParseTuple(args, "s", &path)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } unsigned int FontID = FontLoad(path); return Py_BuildValue("i", FontID); }
PyObject* LMF_ModelDraw(PyObject *self, PyObject *args){ unsigned int ModelID, Camera0_world1; if (!PyArg_ParseTuple(args, "i", &ModelID, &Camera0_world1)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } ModelDraw(ModelID, Camera0_world1); Py_RETURN_NONE; }
PyObject* LMF_ParticleEmitterDraw(PyObject *self, PyObject *args){ unsigned int EmitterID, Camera0_world1; if (!PyArg_ParseTuple(args, "ii", &EmitterID, &Camera0_world1)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } ParticleEmitterDraw(EmitterID, Camera0_world1); Py_RETURN_NONE; }
PyObject* LMF_ParticleEmitterUnload(PyObject *self, PyObject *args){ unsigned int EmitterID; if (!PyArg_ParseTuple(args, "i", &EmitterID)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } ParticleEmitterUnload(EmitterID); Py_RETURN_NONE; }
//--------------------------- Particle Emitters PyObject* LMF_ParticleEmitterLoadEmpty(PyObject *self, PyObject *args){ unsigned int SpriteID; if (!PyArg_ParseTuple(args, "i", &SpriteID)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } unsigned int EmitterID = ParticleEmitterLoad(SpriteID); return Py_BuildValue("i", EmitterID); }
PyObject* LMF_FrameworkFullscreen(PyObject *self, PyObject *args){ int fullscr; if (!PyArg_ParseTuple(args, "i", &fullscr)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } FrameworkFullscreen(fullscr); Py_RETURN_NONE; }
//--------------------------- MISC PyObject* LMF_VSyncSet(PyObject *self, PyObject *args){ int vSyncMode; if (!PyArg_ParseTuple(args, "i", &vSyncMode)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } VSyncSet(vSyncMode); Py_RETURN_NONE; }
//--------------------------- Advanced features PyObject* LMF_SoundLoop (PyObject *self, PyObject *args){ int iSoundID; if (!PyArg_ParseTuple(args, "i", &iSoundID)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } SoundLoop(iSoundID); Py_RETURN_NONE; }
PyObject* LMF_FrameworkBGColour(PyObject *self, PyObject *args){ float fR,fG,fB,fA; if (!PyArg_ParseTuple(args, "ffff", &fR,&fG,&fB,&fA)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } FrameworkBGColour(fR,fG,fB,fA); Py_RETURN_NONE; }
PyObject* LMF_SoundPauseAll (PyObject *self, PyObject *args){ int bPaused; if (!PyArg_ParseTuple(args, "i", &bPaused)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } SoundPauseAll(bPaused); Py_RETURN_NONE; }
PyObject* LMF_KeyReleased(PyObject *self, PyObject *args){ int iKeyCode; if (!PyArg_ParseTuple(args, "i", &iKeyCode)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } int iKeyUp = KeyReleased(iKeyCode); return Py_BuildValue("i", iKeyUp); }
PyObject* LMF_ControllerConnected (PyObject *self, PyObject *args){ int iControllerID; if (!PyArg_ParseTuple(args, "i", &iControllerID)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } int iBConConnected = ControllerConnected(iControllerID); return Py_BuildValue("i", iBConConnected); }
PyObject* LMF_MousePosSet(PyObject *self, PyObject *args){ int iX,iY; if (!PyArg_ParseTuple(args, "ii", &iX, &iY)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } MousePosSet(iX,iY); Py_RETURN_NONE; }
PyObject* LMF_ControllerButton (PyObject *self, PyObject *args){ int iControllerID,iButton; if (!PyArg_ParseTuple(args, "ii", &iControllerID, &iButton)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } int iButtonValue = ControllerButton(iControllerID,iButton); return Py_BuildValue("i", iButtonValue); }
PyObject* LMF_FrameworkWindowResize(PyObject *self, PyObject *args){ int width, height; if (!PyArg_ParseTuple(args, "ii", &width,&height)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } FrameworkWindowResize(width,height); Py_RETURN_NONE; }
//--------------------------- Camera PyObject* LMF_CameraMove(PyObject *self, PyObject *args){ float fX,fY; if (!PyArg_ParseTuple(args, "ff", &fX,&fY)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } CameraMove(fX,fY); Py_RETURN_NONE; }
PyObject* LMF_MouseReleased (PyObject *self, PyObject *args){ int iMouseButton; if (!PyArg_ParseTuple(args, "i", &iMouseButton)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } int iMouseState = MouseReleased(iMouseButton); return Py_BuildValue("i", iMouseState); }
PyObject* LMF_SoundRestart (PyObject *self, PyObject *args){ int bManager; if (!PyArg_ParseTuple(args, "i", &bManager)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } SoundRestart(bManager); Py_RETURN_NONE; }
PyObject* LMF_CameraZoom(PyObject *self, PyObject *args){ float fValue; if (!PyArg_ParseTuple(args, "f", &fValue)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } CameraZoom(fValue); Py_RETURN_NONE; }
PyObject* LMF_SoundSpeed (PyObject *self, PyObject *args){ int iSoundID; float fSpeed; if (!PyArg_ParseTuple(args, "if", &iSoundID, &fSpeed)) { ParsePyTupleError( __func__, __LINE__ ); return nullptr; } SoundSpeed(iSoundID,fSpeed); Py_RETURN_NONE; }