Michael Powers (powerpop) ripple addon error

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
smartwhiz
Posts: 120
Joined: Wed Jan 14, 2004 6:03 pm
Location: India

Michael Powers (powerpop) ripple addon error

Post by smartwhiz »

I tried to implement Michael Powers (powerpop) water ripple addon functions....
and i am gettin a linker error can anyone correct me


#include<irrlicht.h>
#include"CSceneNodeAnimatorRipple.h"//Michael's Header

using namespace irr;

#pragma comment(lib, "Irrlicht.lib")

scene::ICameraSceneNode* camera = 0;
CSceneNodeAnimatorRipple* rain=0;

class MyEventReceiver : public IEventReceiver
{
public:
virtual bool OnEvent(SEvent event)
{
if (camera)
return camera->OnEvent(event);

return false;
}
};


int main()
{
MyEventReceiver receiver;

IrrlichtDevice *device = createDevice(video::EDT_DIRECTX9,core::dimension2d<s32>(1024,768),32,true,true,&receiver);

video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
scene::IAnimatedMesh* mesh;
scene::ISceneNode* node = 0;

mesh=smgr->addHillPlaneMesh("myHill",core::dimension2d<f32>(100,100),core::dimension2d<s32>(40,40), 0, 0,core::dimension2d<f32>(0,0),core::dimension2d<f32>(10,10));

node = smgr->addWaterSurfaceSceneNode(mesh->getMesh(0), 3.0f, 300.0f, 30.0f);
node->setPosition(core::vector3df(0,10,0));

node->setMaterialTexture(0, driver->getTexture("data/envrmap.jpg"));
node->setMaterialTexture(1, driver->getTexture("data/wfloor.jpg"));

node->setMaterialType(video::EMT_REFLECTION_2_LAYER);

rain = new CSceneNodeAnimatorRipple(smgr,mesh->getMesh(0));//Michael's code
node->addAnimator(rain);//Michael's code
rain->drop();//Michael's code

mesh = smgr->getMesh("data/basin.3ds");
node=smgr->addAnimatedMeshSceneNode(mesh);

scene::IAnimatedMeshSceneNode* trunk=smgr->addAnimatedMeshSceneNode(smgr->getMesh("data/trunk.3ds"));
trunk->setPosition(core::vector3df(0,50,800));

//create skybox

node = smgr->addSkyBoxSceneNode(
driver->getTexture("data/ski_up.jpg"),
driver->getTexture("data/ski_dn.jpg"),
driver->getTexture("data/ski_lf.jpg"),
driver->getTexture("data/ski_rt.jpg"),
driver->getTexture("data/ski_ft.jpg"),
driver->getTexture("data/ski_bk.jpg"));


node = smgr->addLightSceneNode(0, core::vector3df(0,500,900),video::SColorf(1.0f, 0.6f, 0.7f, 1.0f), 5000.0f);
node = smgr->addLightSceneNode(0, core::vector3df(0,0,0),video::SColorf(1.0f, 1.6f, 1.7f, 1.0f), 600.0f);
scene::ISceneNodeAnimator* anim = 0;
anim = smgr->createFlyCircleAnimator (core::vector3df(0,150,0),250.0f);
node->addAnimator(anim);
anim->drop();



camera = smgr->addCameraSceneNodeFPS();
camera->setPosition(core::vector3df(-50,50,-150));


int lastFPS = -1;

while(device->run())
{
driver->beginScene(true, true, 0);

smgr->drawAll();

driver->endScene();

int fps = driver->getFPS();

if (lastFPS != fps)
{
wchar_t tmp[1024];
swprintf(tmp, 1024, L"Water Environment"\
L"(fps:%d) Triangles:%d", fps,
driver->getPrimitiveCountDrawn());

device->setWindowCaption(tmp);
lastFPS = fps;
}
}

device->drop();

return 0;
}


ERROR:
--------------------Configuration: main - Win32 Debug--------------------
Compiling...
main.cpp
Linking...
main.obj : error LNK2001: unresolved external symbol "public: __thiscall CSceneNodeAnimatorRipple::CSceneNodeAnimatorRipple(class irr::scene::ISceneManager *,class scene::ISceneManager::IMesh *,float,float,float)" (??0CSceneNodeAnimatorRipple@@QAE@P
AVISceneManager@scene@irr@@PAVIMesh@23@MMM@Z)
Debug/main.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Creating browse info file...

main.exe - 2 error(s), 0 warning(s)
smartwhiz
Posts: 120
Joined: Wed Jan 14, 2004 6:03 pm
Location: India

Post by smartwhiz »

pls this is imp............. HELP
Guest

Post by Guest »

Hi smartwhiz

Maybe You already found it Yourself.
I think the implementation of the RippleAnimator is missing? Did You add the "CSceneNodeAnimatorRipple.cpp" to Your project?

Regards
Tom
Guest

Post by Guest »

no i didn't get it....... i hav already included it.....
Post Reply