forked from bartvdbraak/blender
remove more unneeded args, also allow ipo to animate the ref value for KX_BlenderMaterial's
This commit is contained in:
parent
7301f33b26
commit
3eb8000eb4
@ -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,7 +843,6 @@ 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);
|
||||
|
||||
{
|
||||
@ -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() {};
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user