remove more unneeded args, also allow ipo to animate the ref value for KX_BlenderMaterial's

This commit is contained in:
Campbell Barton 2009-07-31 09:05:13 +00:00
parent 7301f33b26
commit 3eb8000eb4
22 changed files with 36 additions and 79 deletions

@ -385,7 +385,6 @@ extern "C" void StartKetsjiShell(struct ScrArea *area,
sceneconverter->ConvertScene(
startscene,
dictionaryobject,
keyboarddevice,
rendertools,
canvas);
ketsjiengine->AddScene(startscene);
@ -683,7 +682,6 @@ extern "C" void StartKetsjiShellSimulation(struct ScrArea *area,
sceneconverter->ConvertScene(
startscene,
dictionaryobject,
keyboarddevice,
rendertools,
canvas);
ketsjiengine->AddScene(startscene);

@ -325,7 +325,6 @@ bool ConvertMaterial(
const char *tfaceName,
MFace* mface,
MCol* mmcol,
int lightlayer,
MTF_localLayer *layers,
bool glslmat)
{
@ -721,12 +720,12 @@ bool ConvertMaterial(
return true;
}
RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools* rendertools, KX_Scene* scene, KX_BlenderSceneConverter *converter)
/* blenderobj can be NULL, make sure its checked for */
RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, KX_Scene* scene, KX_BlenderSceneConverter *converter)
{
RAS_MeshObject *meshobj;
bool skinMesh = false;
int lightlayer = blenderobj->lay;
int lightlayer = blenderobj ? blenderobj->lay:(1<<20)-1; // all layers if no object.
if ((meshobj = converter->FindGameMesh(mesh/*, ob->lay*/)) != NULL)
return meshobj;
@ -749,7 +748,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
}
// Determine if we need to make a skinned mesh
if (mesh->dvert || mesh->key || ((blenderobj->gameflag & OB_SOFT_BODY) != 0) || BL_ModifierDeformer::HasCompatibleDeformer(blenderobj))
if (blenderobj && (mesh->dvert || mesh->key || ((blenderobj->gameflag & OB_SOFT_BODY) != 0) || BL_ModifierDeformer::HasCompatibleDeformer(blenderobj)))
{
meshobj = new BL_SkinMeshObject(mesh);
skinMesh = true;
@ -844,8 +843,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
tan3 = tangent[f*4 + 3];
}
/* get material */
ma = give_current_material(blenderobj, mface->mat_nr+1);
ma = give_current_material(blenderobj, mface->mat_nr+1);
{
bool visible = true;
@ -860,7 +858,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
if (!bl_mat)
bl_mat = new BL_Material();
ConvertMaterial(bl_mat, ma, tface, tfaceName, mface, mcol,
lightlayer, layers, converter->GetGLSLMaterials());
layers, converter->GetGLSLMaterials());
visible = ((bl_mat->ras_mode & POLY_VIS)!=0);
collider = ((bl_mat->ras_mode & COLLIDER)!=0);
@ -883,7 +881,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
if (kx_blmat == NULL)
kx_blmat = new KX_BlenderMaterial();
kx_blmat->Initialize(scene, bl_mat, skinMesh, lightlayer);
kx_blmat->Initialize(scene, bl_mat, skinMesh);
polymat = static_cast<RAS_IPolyMaterial*>(kx_blmat);
}
else {
@ -1067,8 +1065,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
static PHY_MaterialProps *CreateMaterialFromBlenderObject(struct Object* blenderobject,
KX_Scene *kxscene)
static PHY_MaterialProps *CreateMaterialFromBlenderObject(struct Object* blenderobject)
{
PHY_MaterialProps *materialProps = new PHY_MaterialProps;
@ -1101,8 +1098,7 @@ static PHY_MaterialProps *CreateMaterialFromBlenderObject(struct Object* blender
return materialProps;
}
static PHY_ShapeProps *CreateShapePropsFromBlenderObject(struct Object* blenderobject,
KX_Scene *kxscene)
static PHY_ShapeProps *CreateShapePropsFromBlenderObject(struct Object* blenderobject)
{
PHY_ShapeProps *shapeProps = new PHY_ShapeProps;
@ -1397,12 +1393,11 @@ void BL_CreatePhysicsObjectNew(KX_GameObject* gameobj,
PHY_ShapeProps* shapeprops =
CreateShapePropsFromBlenderObject(blenderobject,
kxscene);
CreateShapePropsFromBlenderObject(blenderobject);
PHY_MaterialProps* smmaterial =
CreateMaterialFromBlenderObject(blenderobject, kxscene);
CreateMaterialFromBlenderObject(blenderobject);
KX_ObjectProperties objprop;
objprop.m_lockXaxis = (blenderobject->gameflag2 & OB_LOCK_RIGID_BODY_X_AXIS) !=0;
@ -1732,7 +1727,7 @@ static KX_GameObject *gameobject_from_blenderobject(
Mesh* mesh = static_cast<Mesh*>(ob->data);
float center[3], extents[3];
float radius = my_boundbox_mesh((Mesh*) ob->data, center, extents);
RAS_MeshObject* meshobj = BL_ConvertMesh(mesh,ob,rendertools,kxscene,converter);
RAS_MeshObject* meshobj = BL_ConvertMesh(mesh,ob,kxscene,converter);
// needed for python scripting
kxscene->GetLogicManager()->RegisterMeshName(meshobj->GetName(),meshobj);
@ -1914,7 +1909,6 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
KX_KetsjiEngine* ketsjiEngine,
e_PhysicsEngine physics_engine,
PyObject* pythondictionary,
SCA_IInputDevice* keydev,
RAS_IRenderTools* rendertools,
RAS_ICanvas* canvas,
KX_BlenderSceneConverter* converter,
@ -2687,7 +2681,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
struct Object* blenderobj = converter->FindBlenderObject(gameobj);
int layerMask = (groupobj.find(blenderobj) == groupobj.end()) ? activeLayerBitInfo : 0;
bool isInActiveLayer = (blenderobj->lay & layerMask)!=0;
BL_ConvertSensors(blenderobj,gameobj,logicmgr,kxscene,ketsjiEngine,keydev,layerMask,isInActiveLayer,canvas,converter);
BL_ConvertSensors(blenderobj,gameobj,logicmgr,kxscene,ketsjiEngine,layerMask,isInActiveLayer,canvas,converter);
// set the init state to all objects
gameobj->SetInitState((blenderobj->init_state)?blenderobj->init_state:blenderobj->state);
}
@ -2725,4 +2719,3 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
RAS_BucketManager *bucketmanager = kxscene->GetBucketManager();
bucketmanager->OptimizeBuckets(distance);
}

@ -34,14 +34,13 @@
#include "KX_Python.h"
#include "KX_PhysicsEngineEnums.h"
class RAS_MeshObject* BL_ConvertMesh(struct Mesh* mesh,struct Object* lightobj,class RAS_IRenderTools* rendertools,class KX_Scene* scene, class KX_BlenderSceneConverter *converter);
class RAS_MeshObject* BL_ConvertMesh(struct Mesh* mesh,struct Object* lightobj,class KX_Scene* scene, class KX_BlenderSceneConverter *converter);
void BL_ConvertBlenderObjects(struct Main* maggie,
class KX_Scene* kxscene,
class KX_KetsjiEngine* ketsjiEngine,
e_PhysicsEngine physics_engine,
PyObject* pythondictionary,
class SCA_IInputDevice* keydev,
class RAS_IRenderTools* rendertools,
class RAS_ICanvas* canvas,
class KX_BlenderSceneConverter* sceneconverter,

@ -257,7 +257,6 @@ struct BlenderDebugDraw : public btIDebugDraw
void KX_BlenderSceneConverter::ConvertScene(class KX_Scene* destinationscene,
PyObject* dictobj,
class SCA_IInputDevice* keyinputdev,
class RAS_IRenderTools* rendertools,
class RAS_ICanvas* canvas)
{
@ -360,7 +359,6 @@ void KX_BlenderSceneConverter::ConvertScene(class KX_Scene* destinationscene,
m_ketsjiEngine,
physics_engine,
dictobj,
keyinputdev,
rendertools,
canvas,
this,

@ -94,7 +94,6 @@ public:
virtual void ConvertScene(
class KX_Scene* destinationscene,
PyObject* dictobj,
class SCA_IInputDevice* keyinputdev,
class RAS_IRenderTools* rendertools,
class RAS_ICanvas* canvas
);
@ -149,6 +148,9 @@ public:
virtual bool GetGLSLMaterials();
struct Scene* GetBlenderSceneForName(const STR_String& name);
struct Main* GetMain() { return m_maggie; };
};
#endif //__KX_BLENDERSCENECONVERTER_H

@ -629,7 +629,6 @@ void BL_ConvertActuators(char* maggiename,
tmpmesh = BL_ConvertMesh(
editobact->me,
blenderobject,
rendertools,
scene,
converter
);

@ -28,6 +28,7 @@
* Conversion of Blender data blocks to KX sensor system
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@ -93,7 +94,6 @@ void BL_ConvertSensors(struct Object* blenderobject,
SCA_LogicManager* logicmgr,
KX_Scene* kxscene,
KX_KetsjiEngine* kxengine,
SCA_IInputDevice* keydev,
int activeLayerBitInfo,
bool isInActiveLayer,
RAS_ICanvas* canvas,
@ -430,9 +430,8 @@ void BL_ConvertSensors(struct Object* blenderobject,
blendernearsensor->dist,
blendernearsensor->resetdist,
bFindMaterial,
nearpropertyname,kxscene,
physCtrl
);
nearpropertyname,
physCtrl);
}
break;
@ -634,8 +633,7 @@ void BL_ConvertSensors(struct Object* blenderobject,
smallmargin,
largemargin,
bFindMaterial,
radarpropertyname,
kxscene);
radarpropertyname);
}

@ -34,7 +34,6 @@ void BL_ConvertSensors(struct Object* blenderobject,
class SCA_LogicManager* logicmgr,
class KX_Scene* kxscene,
class KX_KetsjiEngine* kxengine,
class SCA_IInputDevice* keydev,
int activeLayerBitInfo,
bool isInActiveLayer,
class RAS_ICanvas* canvas,

@ -541,13 +541,6 @@ CValue* CValue::FindIdentifier(const STR_String& identifiername)
#ifndef NO_EXP_PYTHON_EMBEDDING
static PyMethodDef CValueMethods[] =
{
//{ "new", CValue::PyMake , METH_VARARGS},
{ NULL,NULL} // Sentinel
};
PyAttributeDef CValue::Attributes[] = {
KX_PYATTRIBUTE_RO_FUNCTION("name", CValue, pyattr_get_name),
{ NULL } //Sentinel

@ -711,7 +711,6 @@ bool GPG_Application::startEngine(void)
startscenename,
startscene,
dictionaryobject,
m_keyboard,
m_rendertools,
m_canvas);
m_ketsjiengine->AddScene(startscene);

@ -61,8 +61,7 @@ KX_BlenderMaterial::KX_BlenderMaterial(
void KX_BlenderMaterial::Initialize(
KX_Scene *scene,
BL_Material *data,
bool skin,
int lightlayer)
bool skin)
{
RAS_IPolyMaterial::Initialize(
data->texname[0],
@ -74,8 +73,7 @@ void KX_BlenderMaterial::Initialize(
data->mode,
data->transp,
((data->ras_mode &ALPHA)!=0),
((data->ras_mode &ZSORT)!=0),
lightlayer
((data->ras_mode &ZSORT)!=0)
);
mMaterial = data;
mShader = 0;
@ -778,6 +776,7 @@ void KX_BlenderMaterial::UpdateIPO(
mMaterial->hard = (float)(hard);
mMaterial->emit = (float)(emit);
mMaterial->spec_f = (float)(spec);
mMaterial->ref = (float)(ref);
}

@ -29,8 +29,7 @@ public:
void Initialize(
class KX_Scene* scene,
BL_Material* mat,
bool skin,
int lightlayer
bool skin
);
virtual ~KX_BlenderMaterial();

@ -50,7 +50,6 @@ public:
virtual void ConvertScene(
class KX_Scene* destinationscene,
PyObject* dictobj,
class SCA_IInputDevice* keyinputdev,
class RAS_IRenderTools* rendertools,
class RAS_ICanvas* canvas)=0;

@ -1605,7 +1605,6 @@ KX_Scene* KX_KetsjiEngine::CreateScene(const STR_String& scenename)
m_sceneconverter->ConvertScene(tmpscene,
m_pythondictionary,
m_keyboarddevice,
m_rendertools,
m_canvas);

@ -47,7 +47,6 @@ KX_NearSensor::KX_NearSensor(SCA_EventManager* eventmgr,
float resetmargin,
bool bFindMaterial,
const STR_String& touchedpropname,
class KX_Scene* scene,
PHY_IPhysicsController* ctrl,
PyTypeObject* T)
:KX_TouchSensor(eventmgr,
@ -55,7 +54,6 @@ KX_NearSensor::KX_NearSensor(SCA_EventManager* eventmgr,
bFindMaterial,
false,
touchedpropname,
/* scene, */
T),
m_Margin(margin),
m_ResetMargin(resetmargin)

@ -44,7 +44,7 @@ class KX_NearSensor : public KX_TouchSensor
protected:
float m_Margin;
float m_ResetMargin;
KX_Scene* m_scene;
KX_ClientObjectInfo* m_client_info;
public:
KX_NearSensor(class SCA_EventManager* eventmgr,
@ -53,7 +53,6 @@ public:
float resetmargin,
bool bFindMaterial,
const STR_String& touchedpropname,
class KX_Scene* scene,
PHY_IPhysicsController* ctrl,
PyTypeObject* T=&Type);
/*

@ -88,8 +88,7 @@ void KX_PolygonMaterial::Initialize(
mode,
transp,
alpha,
zsort,
lightlayer);
zsort);
m_tface = tface;
m_mcol = mcol;
m_material = ma;

@ -2139,3 +2139,6 @@ void resetGamePythonPath()
{
gp_GamePythonPathOrig[0] = '\0';
}

@ -49,7 +49,6 @@ KX_RadarSensor::KX_RadarSensor(SCA_EventManager* eventmgr,
double resetmargin,
bool bFindMaterial,
const STR_String& touchedpropname,
class KX_Scene* kxscene,
PyTypeObject* T)
: KX_NearSensor(
@ -60,7 +59,6 @@ KX_RadarSensor::KX_RadarSensor(SCA_EventManager* eventmgr,
resetmargin,
bFindMaterial,
touchedpropname,
kxscene,
physCtrl,
T),
m_coneradius(coneradius),

@ -70,7 +70,6 @@ public:
double resetmargin,
bool bFindMaterial,
const STR_String& touchedpropname,
class KX_Scene* kxscene,
PyTypeObject* T = &Type);
KX_RadarSensor();
virtual ~KX_RadarSensor();

@ -46,8 +46,7 @@ void RAS_IPolyMaterial::Initialize(
int mode,
int transp,
bool alpha,
bool zsort,
int lightlayer)
bool zsort)
{
m_texturename = texname;
m_materialname = matname;
@ -59,7 +58,6 @@ void RAS_IPolyMaterial::Initialize(
m_transp = transp;
m_alpha = alpha;
m_zsort = zsort;
//m_lightlayer = lightlayer;
m_polymatid = m_newpolymatid++;
m_flag = 0;
m_multimode = 0;
@ -80,7 +78,6 @@ RAS_IPolyMaterial::RAS_IPolyMaterial()
m_transp(0),
m_alpha(false),
m_zsort(false),
//m_lightlayer(0),
m_polymatid(0),
m_flag(0),
m_multimode(0)
@ -100,8 +97,7 @@ RAS_IPolyMaterial::RAS_IPolyMaterial(const STR_String& texname,
int mode,
int transp,
bool alpha,
bool zsort,
int lightlayer)
bool zsort)
: m_texturename(texname),
m_materialname(matname),
m_materialindex(materialindex),
@ -112,7 +108,6 @@ RAS_IPolyMaterial::RAS_IPolyMaterial(const STR_String& texname,
m_transp(transp),
m_alpha(alpha),
m_zsort(zsort),
//m_lightlayer(lightlayer),
m_polymatid(m_newpolymatid++),
m_flag(0),
m_multimode(0)
@ -172,11 +167,6 @@ bool RAS_IPolyMaterial::Less(const RAS_IPolyMaterial& rhs) const
return m_polymatid < rhs.m_polymatid;
}
//int RAS_IPolyMaterial::GetLightLayer() const
//{
// return m_lightlayer;
//}
bool RAS_IPolyMaterial::IsAlpha() const
{
return m_alpha || m_zsort;

@ -73,7 +73,6 @@ protected:
int m_transp;
bool m_alpha;
bool m_zsort;
//int m_lightlayer;
int m_materialindex;
unsigned int m_polymatid;
@ -110,8 +109,7 @@ public:
int mode,
int transp,
bool alpha,
bool zsort,
int lightlayer);
bool zsort);
void Initialize(const STR_String& texname,
const STR_String& matname,
int materialindex,
@ -121,8 +119,7 @@ public:
int mode,
int transp,
bool alpha,
bool zsort,
int lightlayer);
bool zsort);
virtual ~RAS_IPolyMaterial() {};
/**