2.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r18677:19317
Notes: * Sequence transform strip uses G.scene global, this is commented out now, should be fixed. * Etch-a-ton code was most difficult to merge. The files already in 2.5 got merged, but no new files were added. Calls to these files are commented out with "XXX etch-a-ton". editarmature.c and transform_snap.c were complex to merge. Martin, please check? * Game engine compiles and links again here for scons/make/cmake (player still fails to link).
This commit is contained in:
@@ -47,6 +47,7 @@
|
||||
#include "KX_PyConstraintBinding.h"
|
||||
|
||||
#include "KX_KetsjiEngine.h"
|
||||
#include "KX_RadarSensor.h"
|
||||
|
||||
#include "SCA_IInputDevice.h"
|
||||
#include "SCA_PropertySensor.h"
|
||||
@@ -128,10 +129,10 @@ static PyObject* gPyGetRandomFloat(PyObject*)
|
||||
return PyFloat_FromDouble(MT_random());
|
||||
}
|
||||
|
||||
static PyObject* gPySetGravity(PyObject*, PyObject* args)
|
||||
static PyObject* gPySetGravity(PyObject*, PyObject* value)
|
||||
{
|
||||
MT_Vector3 vec = MT_Vector3(0., 0., 0.);
|
||||
if (!PyVecArgTo(args, vec))
|
||||
MT_Vector3 vec;
|
||||
if (!PyVecTo(value, vec))
|
||||
return NULL;
|
||||
|
||||
if (gp_KetsjiScene)
|
||||
@@ -199,7 +200,7 @@ static PyObject* gPyGetSpectrum(PyObject*)
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if 0 // unused
|
||||
static PyObject* gPyStartDSP(PyObject*, PyObject* args)
|
||||
{
|
||||
SND_IAudioDevice* audiodevice = SND_DeviceManager::Instance();
|
||||
@@ -216,7 +217,7 @@ static PyObject* gPyStartDSP(PyObject*, PyObject* args)
|
||||
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
static PyObject* gPyStopDSP(PyObject*, PyObject* args)
|
||||
@@ -260,7 +261,7 @@ static PyObject* gPySetPhysicsTicRate(PyObject*, PyObject* args)
|
||||
PHY_GetActiveEnvironment()->setFixedTimeStep(true,ticrate);
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
#if 0 // unused
|
||||
static PyObject* gPySetPhysicsDebug(PyObject*, PyObject* args)
|
||||
{
|
||||
int debugMode;
|
||||
@@ -270,7 +271,7 @@ static PyObject* gPySetPhysicsDebug(PyObject*, PyObject* args)
|
||||
PHY_GetActiveEnvironment()->setDebugMode(debugMode);
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
static PyObject* gPyGetPhysicsTicRate(PyObject*)
|
||||
@@ -332,6 +333,32 @@ static PyObject* gPyGetCurrentScene(PyObject* self)
|
||||
return (PyObject*) gp_KetsjiScene;
|
||||
}
|
||||
|
||||
static STR_String gPyGetSceneList_doc =
|
||||
"getSceneList()\n"
|
||||
"Return a list of converted scenes.\n";
|
||||
static PyObject* gPyGetSceneList(PyObject* self)
|
||||
{
|
||||
KX_KetsjiEngine* m_engine = KX_GetActiveEngine();
|
||||
//CListValue* list = new CListValue();
|
||||
PyObject* list;
|
||||
KX_SceneList* scenes = m_engine->CurrentScenes();
|
||||
int numScenes = scenes->size();
|
||||
int i;
|
||||
|
||||
list = PyList_New(numScenes);
|
||||
|
||||
for (i=0;i<numScenes;i++)
|
||||
{
|
||||
KX_Scene* scene = scenes->at(i);
|
||||
//list->Add(scene);
|
||||
PyList_SET_ITEM(list, i, scene);
|
||||
Py_INCREF(scene);
|
||||
|
||||
}
|
||||
|
||||
return (PyObject*)list;
|
||||
}
|
||||
|
||||
static PyObject *pyPrintExt(PyObject *,PyObject *,PyObject *)
|
||||
{
|
||||
#define pprint(x) std::cout << x << std::endl;
|
||||
@@ -411,11 +438,13 @@ static struct PyMethodDef game_methods[] = {
|
||||
METH_NOARGS, (PY_METHODCHAR)SCA_PythonController::sPyGetCurrentController__doc__},
|
||||
{"getCurrentScene", (PyCFunction) gPyGetCurrentScene,
|
||||
METH_NOARGS, (PY_METHODCHAR)gPyGetCurrentScene_doc.Ptr()},
|
||||
{"getSceneList", (PyCFunction) gPyGetSceneList,
|
||||
METH_NOARGS, (PY_METHODCHAR)gPyGetSceneList_doc.Ptr()},
|
||||
{"addActiveActuator",(PyCFunction) SCA_PythonController::sPyAddActiveActuator,
|
||||
METH_VARARGS, (PY_METHODCHAR)SCA_PythonController::sPyAddActiveActuator__doc__},
|
||||
{"getRandomFloat",(PyCFunction) gPyGetRandomFloat,
|
||||
METH_NOARGS, (PY_METHODCHAR)gPyGetRandomFloat_doc.Ptr()},
|
||||
{"setGravity",(PyCFunction) gPySetGravity, METH_VARARGS, (PY_METHODCHAR)"set Gravitation"},
|
||||
{"setGravity",(PyCFunction) gPySetGravity, METH_O, (PY_METHODCHAR)"set Gravitation"},
|
||||
{"getSpectrum",(PyCFunction) gPyGetSpectrum, METH_NOARGS, (PY_METHODCHAR)"get audio spectrum"},
|
||||
{"stopDSP",(PyCFunction) gPyStopDSP, METH_VARARGS, (PY_METHODCHAR)"stop using the audio dsp (for performance reasons)"},
|
||||
{"getLogicTicRate", (PyCFunction) gPyGetLogicTicRate, METH_NOARGS, (PY_METHODCHAR)"Gets the logic tic rate"},
|
||||
@@ -545,11 +574,11 @@ static PyObject* gPyGetFocalLength(PyObject*, PyObject*, PyObject*)
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
static PyObject* gPySetBackgroundColor(PyObject*, PyObject* args)
|
||||
static PyObject* gPySetBackgroundColor(PyObject*, PyObject* value)
|
||||
{
|
||||
|
||||
MT_Vector4 vec = MT_Vector4(0., 0., 0.3, 0.);
|
||||
if (!PyVecArgTo(args, vec))
|
||||
MT_Vector4 vec;
|
||||
if (!PyVecTo(value, vec))
|
||||
return NULL;
|
||||
|
||||
if (gp_Canvas)
|
||||
@@ -561,11 +590,11 @@ static PyObject* gPySetBackgroundColor(PyObject*, PyObject* args)
|
||||
|
||||
|
||||
|
||||
static PyObject* gPySetMistColor(PyObject*, PyObject* args)
|
||||
static PyObject* gPySetMistColor(PyObject*, PyObject* value)
|
||||
{
|
||||
|
||||
MT_Vector3 vec = MT_Vector3(0., 0., 0.);
|
||||
if (!PyVecArgTo(args, vec))
|
||||
MT_Vector3 vec;
|
||||
if (!PyVecTo(value, vec))
|
||||
return NULL;
|
||||
|
||||
if (!gp_Rasterizer) {
|
||||
@@ -616,11 +645,11 @@ static PyObject* gPySetMistEnd(PyObject*, PyObject* args)
|
||||
}
|
||||
|
||||
|
||||
static PyObject* gPySetAmbientColor(PyObject*, PyObject* args)
|
||||
static PyObject* gPySetAmbientColor(PyObject*, PyObject* value)
|
||||
{
|
||||
|
||||
MT_Vector3 vec = MT_Vector3(0., 0., 0.);
|
||||
if (!PyVecArgTo(args, vec))
|
||||
MT_Vector3 vec;
|
||||
if (!PyVecTo(value, vec))
|
||||
return NULL;
|
||||
|
||||
if (!gp_Rasterizer) {
|
||||
@@ -815,9 +844,9 @@ static PyObject* gPyDrawLine(PyObject*, PyObject* args)
|
||||
if (!PyArg_ParseTuple(args,"OOO",&ob_from,&ob_to,&ob_color))
|
||||
return NULL;
|
||||
|
||||
MT_Vector3 from(0., 0., 0.);
|
||||
MT_Vector3 to(0., 0., 0.);
|
||||
MT_Vector3 color(0., 0., 0.);
|
||||
MT_Vector3 from;
|
||||
MT_Vector3 to;
|
||||
MT_Vector3 color;
|
||||
if (!PyVecTo(ob_from, from))
|
||||
return NULL;
|
||||
if (!PyVecTo(ob_to, to))
|
||||
@@ -843,9 +872,9 @@ static struct PyMethodDef rasterizer_methods[] = {
|
||||
METH_VARARGS, "showMouse(bool visible)"},
|
||||
{"setMousePosition",(PyCFunction) gPySetMousePosition,
|
||||
METH_VARARGS, "setMousePosition(int x,int y)"},
|
||||
{"setBackgroundColor",(PyCFunction)gPySetBackgroundColor,METH_VARARGS,"set Background Color (rgb)"},
|
||||
{"setAmbientColor",(PyCFunction)gPySetAmbientColor,METH_VARARGS,"set Ambient Color (rgb)"},
|
||||
{"setMistColor",(PyCFunction)gPySetMistColor,METH_VARARGS,"set Mist Color (rgb)"},
|
||||
{"setBackgroundColor",(PyCFunction)gPySetBackgroundColor,METH_O,"set Background Color (rgb)"},
|
||||
{"setAmbientColor",(PyCFunction)gPySetAmbientColor,METH_O,"set Ambient Color (rgb)"},
|
||||
{"setMistColor",(PyCFunction)gPySetMistColor,METH_O,"set Mist Color (rgb)"},
|
||||
{"setMistStart",(PyCFunction)gPySetMistStart,METH_VARARGS,"set Mist Start(rgb)"},
|
||||
{"setMistEnd",(PyCFunction)gPySetMistEnd,METH_VARARGS,"set Mist End(rgb)"},
|
||||
{"enableMotionBlur",(PyCFunction)gPyEnableMotionBlur,METH_VARARGS,"enable motion blur"},
|
||||
@@ -1035,6 +1064,14 @@ PyObject* initGameLogic(KX_KetsjiEngine *engine, KX_Scene* scene) // quick hack
|
||||
KX_MACRO_addTypesToDict(d, KX_STATE29, (1<<28));
|
||||
KX_MACRO_addTypesToDict(d, KX_STATE30, (1<<29));
|
||||
|
||||
/* Radar Sensor */
|
||||
KX_MACRO_addTypesToDict(d, KX_RADAR_AXIS_POS_X, KX_RadarSensor::KX_RADAR_AXIS_POS_X);
|
||||
KX_MACRO_addTypesToDict(d, KX_RADAR_AXIS_POS_Y, KX_RadarSensor::KX_RADAR_AXIS_POS_Y);
|
||||
KX_MACRO_addTypesToDict(d, KX_RADAR_AXIS_POS_Z, KX_RadarSensor::KX_RADAR_AXIS_POS_Z);
|
||||
KX_MACRO_addTypesToDict(d, KX_RADAR_AXIS_NEG_X, KX_RadarSensor::KX_RADAR_AXIS_NEG_Y);
|
||||
KX_MACRO_addTypesToDict(d, KX_RADAR_AXIS_NEG_Y, KX_RadarSensor::KX_RADAR_AXIS_NEG_X);
|
||||
KX_MACRO_addTypesToDict(d, KX_RADAR_AXIS_NEG_Z, KX_RadarSensor::KX_RADAR_AXIS_NEG_Z);
|
||||
|
||||
// Check for errors
|
||||
if (PyErr_Occurred())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user