probleme deleting NxOgre:World

maroxe

16-09-2008 00:28:26

Hi all,
i have problem when deleting World class.
this what visual's debugger says:

> Race Game.exe!NxOgre::Allocator::WatchedPointer::getPtr() Ligne 446 + 0x3 octets C++
Race Game.exe!NxOgre::Allocator::watch_delete(void * ptr=0x0cbe7918) Ligne 141 + 0x8 octets C++
Race Game.exe!Betajaen::Flat<NxOgre::Allocator::WatchedPointer *,Betajaen::SharedAllocator>::_delete_range(NxOgre::Allocator::WatchedPointer * * begin=0x0cbf5044, NxOgre::Allocator::WatchedPointer * * end=0x0cbf5060) Ligne 285 + 0x12 octets C++
Race Game.exe!Betajaen::SharedList<NxOgre::Allocator::WatchedPointer,Betajaen::SharedAllocator>::~SharedList<NxOgre::Allocator::WatchedPointer,Betajaen::SharedAllocator>() Ligne 487 C++
Race Game.exe!NxOgre::Allocator::~Allocator() Ligne 85 + 0x12 octets C++
Race Game.exe!NxOgre::Allocator::`scalar deleting destructor'() + 0x2b octets C++
Race Game.exe!NxOgre::PhysXDriver::~PhysXDriver() Ligne 409 + 0x2d octets C++
Race Game.exe!NxOgre::PhysXDriver::`scalar deleting destructor'() + 0x2b octets C++
Race Game.exe!NxOgre::World::shutdown() Ligne 82 + 0x3f octets C++
Race Game.exe!NxOgre::World::~World() Ligne 60 C++
Race Game.exe!NxOgre::World::`scalar deleting destructor'() + 0x2b octets C++
Race Game.exe!CScene::~CScene() Ligne 59 + 0x2e octets C++
Race Game.exe!CScene::`scalar deleting destructor'() + 0x2b octets C++
Race Game.exe!CPlayState::~CPlayState() Ligne 71 + 0x2e octets C++
Race Game.exe!CPlayState::`scalar deleting destructor'() + 0x2b octets C++
Race Game.exe!CStateManager::popState() Ligne 53 + 0x3b octets C++
Race Game.exe!CStateManager::frameStarted(float ElapsedTime=0.017000001) Ligne 27 C++
Race Game.exe!CGame::frameStarted(const Ogre::FrameEvent & Evt={...}) Ligne 63 C++
OgreMain_d.dll!10da0ec6()
[Les frames ci-dessous sont peut-être incorrects et/ou manquants, aucun symbole chargé pour OgreMain_d.dll]
OgreMain_d.dll!10da15b2()
OgreMain_d.dll!10da1bcb()
OgreMain_d.dll!10da1b4a()
Race Game.exe!CGame::loop() Ligne 20 + 0xe octets C++
Race Game.exe!main(int argc=1, char * * argv=0x015bac98) Ligne 12 C++
Race Game.exe!__tmainCRTStartup() Ligne 582 + 0x19 octets C
Race Game.exe!mainCRTStartup() Ligne 399 C
kernel32.dll!7c816fd7()
Race Game.exe!NxOgre::Joint::addLimitPlane(const NxVec3 & normal={...}, const NxVec3 & pointInPlane={...}, float restitution=3.3651886) Ligne 306 + 0x24 octets C++
61686324()


i have no idea about ho to resolve it

Prophet

16-09-2008 10:07:33

More info, please?

maroxe

16-09-2008 20:09:58

what kind of info?
i construct the world and scene like below:

createNxScene("time-controller: ogre", "gravity: yes, floor: yes, renderer: ogre");
void CScene::createNxScene(const NxOgre::PhysXParams& WorldParams, const NxOgre::SceneParams& SceneParams) {
mNxWorld = new World(WorldParams);
mNxScene = mNxWorld->createScene("MyScene", SceneParams);

}

maroxe

16-09-2008 20:11:43

and i'm using static version of NxOgre

Prophet

16-09-2008 20:25:31

what kind of info?Error messages, own thoughts, effects, code, etc.
How do you declare what's in the WorldParams? SceneParams? What does createNxScene do? Are you mixing PhysX and NxOgre?

KevinMulder

16-09-2008 20:33:41

Is it bad to mix Physx with NxOgre? (I am about to do that ... :( )

betajaen

16-09-2008 20:38:19

No, it's fine. Just don't use the userData in the PhysX classes, it's used by NxOgre for storage and identification.

Prophet

16-09-2008 20:48:54

No, it's fine. Just don't use the userData in the PhysX classes, it's used by NxOgre for storage and identification.That's basically what I meant, sorry.

KevinMulder

16-09-2008 20:51:14

I was not aware of that. I am glad it emerged from the dark deepnessesness of secret knowledge. I put it into the Unofficial FAQ.
Thanks for the info.

maroxe

16-09-2008 22:11:25

No, it's fine. Just don't use the userData in the PhysX classes, it's used by NxOgre for storage and identification.well, i am ot using it

maroxe

17-09-2008 20:28:16

do you need more info?