Hi Area51,
OK well it's not the SkyBox.
If I add a break and debug here:
GameWeaponOwnedStates.cpp
switch (node->getID())
your right 'node' is returning null (or actually 0x000000)
my new GameStateLevel02 is pretty much the same as GameStateLevel01,
now in GamePlayState I adden a new CGamePlayState::loadTerrainMap()
but added a terrain instead of the original stuff
Code: Select all
// add terrain scene node
scene::ITerrainSceneNode* terrain = pManager->getSceneManager()->addTerrainSceneNode(
"media/terrain/terrain1_HeightMap129.bmp",0,-1,
core::vector3df(0.0f, 0.0f, 0.0f), // position
core::vector3df(0.0f, 0.0f, 0.0f), //rotation
core::vector3df(80, 1.0f, 80), //scale
video::SColor(255, 255, 255, 255),5,scene::ETPS_33); // color - LOD - Patch Size
terrain->setMaterialFlag(video::EMF_LIGHTING, false);
terrain->setMaterialTexture(0, pManager->getDriver()->getTexture("media/terrain/grass2.jpg"));
terrain->setMaterialTexture(1, pManager->getDriver()->getTexture("media/terrain/grass_detail3.jpg"));
terrain->setMaterialType(video::EMT_DETAIL_MAP);
terrain->scaleTexture(1.0f, 10.0f);
terrain->setID(ID_TERRAIN_NODE);
// Load in game Level from resources
m_Selector = 0;
scene::IAnimatedMesh* mesh = pManager->getSceneManager()->getMesh(map);
scene::ISceneNode* node = 0;
if (mesh)
node = pManager->getSceneManager()->addOctTreeSceneNode(mesh->getMesh(0));
if (node)
{
//node->setPosition(mapPosition);
node->setPosition(core::vector3df(0.0f, 0.0f, 0.0f));
m_Selector = pManager->getSceneManager()->createOctTreeTriangleSelector(
mesh->getMesh(0), node, 128);
node->setTriangleSelector(m_Selector);
m_Selector->drop();
}
pManager->setMetaSelector();
pManager->getMetaSelector()->addTriangleSelector(m_Selector);
My problem is here somewhere:
scene::IAnimatedMesh* mesh = pManager->getSceneManager()->getMesh(map);
node = pManager->getSceneManager()->addOctTreeSceneNode(mesh->getMesh(0));
I'm not sure how to set node or mesh, to use the terrain, and not the 'quake map'
if I actually parse the map and load it, ie I have a quake map ON my terrain, I can run around shooting the building and get explosions, the moment I shoot the terrain, it crashes out.
How can I get this bit of code to return something for the terrain.
I have tried a few things but just get a mismatch, as terrain is not an AnimatedMesh ..aarrghh
Thanks for any help, but my head is bruised from banging it on my desk
Note: I did even use SetID on the terrain node, in case that's why it returned null.
Cheers
![Wink :wink:](./images/smilies/icon_wink.gif)
You scratch my back, I'll scratch yours.