why?
Code: Select all
#include <irrlicht.h>
#include <wchar.h>
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
#pragma comment(lib, "Irrlicht.lib")
/*-- Node Definitions --*/
ICameraSceneNode* camera = 0;
ISceneNode* lvlNode = 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(DT_DIRECTX8, dimension2d<s32>(1024, 768), 16, true, false, &receiver);
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* guienv = device->getGUIEnvironment();
//
/*-- TEST LEVEL --*/
IAnimatedMesh* testLvl = smgr->getMesh("maps/testing.bsp");
lvlNode = smgr->addOctTreeSceneNode(testLvl->getMesh(0));
lvlNode = smgr->addLightSceneNode(0, vector3df(-120,40,130), SColorf(1.0f, 0.6f, 0.7f, 1.0f), 600.0f);
//
/*-- TEST MESH --*/
IAnimatedMesh* testMesh = smgr->getMesh("sydney.md2");
IAnimatedMeshSceneNode* testMeshNode = smgr->addAnimatedMeshSceneNode(testMesh);
testMeshNode ->setMaterialFlag(EMF_LIGHTING, true);
testMeshNode ->setFrameLoop(0, 310);
testMeshNode ->setMaterialTexture( 0, driver->getTexture("sydney.bmp") );
testMeshNode ->addShadowVolumeSceneNode();
testMeshNode->setPosition(vector3df(-150,30,130));
smgr->setShadowColor(SColor(220,0,0,0));
//
camera = smgr->addCameraSceneNodeFPS();
device->getCursorControl()->setVisible(false);
//
while(device->run())
{
driver->beginScene(true, true, SColor(0,100,100,100));
smgr->drawAll();
guienv->drawAll();
driver->endScene();
}
device->drop();
return 0;
}