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)
Michael Powers (powerpop) ripple addon error
-
Guest