Hier mal die betroffenen Codestellen:
WinMainCode:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
// Variablen initialisieren...
// Start Main Menu
gamescene = (cBaseScene*)(new cMainMenu());
while (gamescene != NULL && device != NULL)
{
gamescene->run(); // Main Loop
}
soundEngine->drop();
device->closeDevice();
return 0;
}
cMainMenu.runCode:
int cMainMenu::run()
{
// Load Backgroundtexture
ITexture *texture = driver->getTexture("Textures/BG.tga"); // Funktioniert einwandfrei
// GUI initialisieren etc...
while((!sceneChanged) && device->run())
{
driver->beginScene(true, true, SColor(255,100,101,140));
smgr->drawAll();
guienv->drawAll();
driver->endScene();
}
// Die Szene wurde beendet, z.B. durch onNewGame
delete texture;
return 0;
}
cMainMenu.onNewGameCode:
void cMainMenu::onNewGame()
{
// aufräumen...
delete this;
gamescene = new cGame(); // Start Gamescreen
}
cGame.runCode:
int cGame::run()
{
// Load Model
IAnimatedMesh *mesh = smgr->getMesh("Models/Spielfeld.obj");
IAnimatedMeshSceneNode *node = smgr->addAnimatedMeshSceneNode( mesh );
if (node)
{
node->setMaterialFlag(EMF_LIGHTING, false);
ITexture *texture = driver->getTexture("Textures/Wood.tga"); // Hier tritt der Fehler auf.
// Es ist nicht möglich, in die getTexture-Methode zu springen, schon beim Aufruf wird die Exception
// geworfen. Lasse ich die Zeile weg, funktioniert alles einwandfrei.
node->setMaterialTexture( 0, texture);
}
smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
while(device->run())
{
driver->beginScene(true, true, SColor(255,100,101,140));
smgr->drawAll();
guienv->drawAll();
driver->endScene();
}
return 0;
}
Ist jetzt relativ viel Code, ich habe aber versucht, alles uninteressante rauszukürzen.
Zitat:
(Mein erster Tipp wäre auch gewesen, dass der Pointer in driver kaputt ist, vllt mach mal nen *kompletten* Backtrace im Debugger, inklusive Irrlicht. Das musst du dafür natürlich mit Debuginfos neu compilieren)
Danke, Hab ich zwar jetzt grade keine Zeit für, heute Abend werde ich mich aber mal daran versuchen.
Drag-On