Code: Select all
#include <irrlicht.h>
#include "CCameraRPGSceneNode.h"
#include <audiere.h>
#include <iostream>
using namespace audiere;
using namespace irr;
#pragma comment(lib, "Irrlicht.lib")
// hide the console window
#pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup")
int main()
{
// create device and exit if creation failed
IrrlichtDevice *device = createDevice(
video::EDT_OPENGL,
core::dimension2d<s32>(1024, 768),
32,
false,
true,
true);
if (device == 0)
return 1; // could not create selected driver.
// set window caption
device->setWindowCaption(L"Irrlicht Engine - smooth mixed 1st + 3rd person camera example by Xterm-In'Hate");
// usual Irrlicht pointers
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
gui::IGUIEnvironment* env = device->getGUIEnvironment();
// load it Quake 3 map archive.
smgr->loadScene("../../media/example.irr");
// load and display animated fairy mesh
scene::IAnimatedMeshSceneNode* fairy = smgr->addAnimatedMeshSceneNode( smgr->getMesh("../aod2/media/lara.x"));
fairy->setMaterialTexture(0, driver->getTexture("media/faerie2.bmp")); // set diffuse texture
// fairy->setPosition(core::vector3df(-10,0,-100));
fairy->setPosition(core::vector3df(0,150,0));
fairy->setCurrentFrame( 0 );
// fairy->setFrameLoop( 0, 0 );
// fairy->setLoopMode( false );
// add shadow
fairy->addShadowVolumeSceneNode();
smgr->setShadowColor(video::SColor(220,0,0,0));
// make the model a little bit bigger and normalize its normals
// because of this for correct lighting
fairy->setScale(core::vector3df(2,2,2));
fairy->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, true);
// create collision response animator
scene::ISceneNodeAnimator * anim = smgr->createCollisionResponseAnimator( selector, fairy, core::vector3df(50,50,50), core::vector3df(0,-1,0), core::vector3df(0,0,0));
fairy->addAnimator(anim);
anim->drop();
// create sky box
//driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
scene::ISceneNode* skyboxNode;
skyboxNode = smgr->addSkyBoxSceneNode(
driver->getTexture("../aod2/media/sky!.bmp"),
driver->getTexture("../aod2/media/sky!.bmp"),
driver->getTexture("../aod2/media/sky!.bmp"),
driver->getTexture("../aod2/media/sky!.bmp"),
driver->getTexture("../aod2/media/sky!.bmp"),
driver->getTexture("../aod2/media/sky!.bmp"));
// load music
//in main
//initialize audio
AudioDevicePtr audiereDevice;
OutputStreamPtr stream;
audiereDevice = OpenDevice();
if (!audiereDevice)
return 1;
stream = OpenSound(audiereDevice.get(), "../aod2/media/Intro.mp3", true);
if (!stream)
return 2;
stream->setRepeat(true);
stream->setVolume(0.99f); // 99% volume
stream->play();
scene::IParticleSystemSceneNode* ps = 0;
ps = smgr->addParticleSystemSceneNode(false);
ps->setPosition(core::vector3df(-160,170,80));
ps->setScale(core::vector3df(1,1,1));
ps->setParticleSize(core::dimension2d<f32>(5.0f, 5.0f));
scene::IParticleEmitter* em = ps->createBoxEmitter(
core::aabbox3d<f32>(-270,-200,-270,270,300,300),
core::vector3df(0.00f,0.00f,0.0f),
400,800,
video::SColor(0,255,255,255), video::SColor(0,255,255,255),
8000,10000);
ps->setEmitter(em);
em->drop();
scene::IParticleAffector* paf =
ps->createGravityAffector(core::vector3df(0.00f,0.00f, 0.0f), 1000);
ps->addAffector(paf);
paf->drop();
// create camera RPG ////////////////////////////////////////////////
irr::scene::CCameraRPGSceneNode * cam = new irr::scene::CCameraRPGSceneNode( fairy, smgr, 999, device, selector, "cam.xml" );
smgr->setActiveCamera( cam ); // As I did not modify SceneManager...
cam->drop();
// create camera RPG ////////////////////////////////////////////////
// run render loop
while(device->run())
if (device->isWindowActive())
{
driver->beginScene(true, true, irr::video::SColor( 255, 255, 255, 255 ) );
smgr->drawAll();
driver->endScene();
}
device->drop(); // drop device
return 0;
}

i keep getting those errors. Whats with the code? and is that fullscreen code correct because it isnt working correctly.