I wrote this script, and everything compiled fine. But it was crammed and sloppy. So I want to organize it, putting sections in different files (.cpp), and linking them, using classes. But I don't know exactly what to do to achieve this. Can some one help me out?
Here is what I have managed to come up with, and sadly, I get errors. =/
CTerrainNodes.h
Code:
#ifndef CTerrainNodes_h
#define CTerrainNodes_h
class CTerrainNodes
{
public:
CTerrainNodes();
void RenderTerrain( ITerrainSceneNode* );
};
#endif CTerrainNodes.cpp
Code:
#include "CTerrainNodes.h"
using namespace irr;
#pragma comment(lib, "Irrlicht.lib")
CTerrainNodes::CTerrainNodes()
{
}
void CTerrainNodes::RenderTerrain( scene::ITerrainSceneNode* terrain )
{
// add terrain(center) scene node
scene::ITerrainSceneNode* terrain = smgr->addTerrainSceneNode(
"tiles/tile.bmp");
terrain->setScale(core::vector3df(10, 2, 10));
terrain->setPosition(core::vector3df(0,0,0));
terrain->setMaterialFlag(video::EMF_LIGHTING, false);
terrain->setMaterialTexture(0, driver->getTexture("textures/grassdark.bmp"));
terrain->scaleTexture(1.0f);
return terrain;
} Section from Main.cpp
Code:
// Render Terrain
CTerrainNodes t;
t.RenderTerrain();
Errors....
Code:
Compiling...
main.cpp
c:\000-project\project testing\cterrainnodes.h(8) : error C2061: syntax error : identifier 'ITerrainSceneNode'
c:\000-project\project testing\main.cpp(73) : error C2065: 'terrain' : undeclared identifier
c:\000-project\project testing\main.cpp(74) : error C2227: left of '->setTriangleSelector' must point to class/struct/union
CTerrainNodes.cpp
c:\000-project\project testing\cterrainnodes.h(8) : error C2061: syntax error : identifier 'ITerrainSceneNode'
c:\000-project\project testing\cterrainnodes.cpp(17) : error C2511: 'RenderTerrain' : overloaded member function 'void (class irr::scene::ITerrainSceneNode *)' not found in 'CTerrainNodes'
c:\000-project\project testing\cterrainnodes.h(5) : see declaration of 'CTerrainNodes'
Error executing cl.exe.
thisone.exe - 5 error(s), 0 warning(s) Whats wrong?