how to download the newest edition of ogreAl?

disney

04-04-2009 01:19:07

I download the ogreal,but when run the exe,the err come out "_getProcessID@MemoryManager@Ogre@@AAEIXZ ......" I used ogresdk 1.6

Phobius

06-04-2009 23:10:32

OgreAL is a library, therefore whatever .exe you ran is not the library itself, but rather a program that is perhaps using OgreAL. To download OgreAL, go to the sourceforge homepage of OgreAL and check out the "SVN" code download options.

slanning

04-10-2009 18:54:44

I'm not sure where to send patches. Things went fairly well on Ubuntu for me.
Thanks for the good work.
I use Ubuntu Jaunty (latest until the end of this month), with the great Ubuntu Ogre-related packages
(including Ogre and OIS) from https://launchpad.net/~andrewfenn/+archive/ogredev .

I had only a couple minor problems.
1) ./boostrap should be an executable file:

chmod 755 bootstrap

2) The demo files need upgraded for OIS 1.2 and Ogre 1.6 (see below)

Here's how I did it.


svn co https://ogreal.svn.sourceforge.net/svnroot/ogreal/trunk/OgreAL-Eihort
cd OgreAL-Eihort/
chmod 755 bootstrap
./bootstrap
./configure --prefix=$HOME/.ogreal-install
make
(everything went okay until here)
make[1]: Leaving directory `/tmp/OgreAL-Eihort/src'
Making all in Demos
make[1]: Entering directory `/tmp/OgreAL-Eihort/Demos'
Making all in bin
make[2]: Entering directory `/tmp/OgreAL-Eihort/Demos/bin'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/OgreAL-Eihort/Demos/bin'
Making all in Basic_Demo
make[2]: Entering directory `/tmp/OgreAL-Eihort/Demos/Basic_Demo'
g++ -DHAVE_CONFIG_H -I. -I../../include -I../../include -DOGRE_GUI_GLX -DOGRE_CONFIG_LITTLE_ENDIAN -I/usr/include/OGRE -I/usr/include/OIS -g -O2 -MT Listener.o -MD -MP -MF .deps/Listener.Tpo -c -o Listener.o Listener.cpp
Listener.cpp: In constructor ‘DeviceListener::DeviceListener(Ogre::RenderWindow*, Ogre::Camera*, Ogre::SceneManager*)’:
Listener.cpp:38: error: ‘class OIS::InputManager’ has no member named ‘numMice’
Listener.cpp:43: error: ‘class OIS::InputManager’ has no member named ‘numKeyboards’
Listener.cpp: In member function ‘virtual bool DeviceListener::frameStarted(const Ogre::FrameEvent&)’:
Listener.cpp:98: error: ‘class Ogre::SceneNode’ has no member named ‘getWorldOrientation’
make[2]: *** [Listener.o] Error 1
make[2]: Leaving directory `/tmp/OgreAL-Eihort/Demos/Basic_Demo'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/OgreAL-Eihort/Demos'
make: *** [all-recursive] Error 1


These errors are from changes to the API of OIS and Ogre.

$ pkg-config --modversion OIS
1.2.0
$ pkg-config --modversion OGRE
1.6.4


OIS::InputManager numMice and numKeyboards have become

getNumberOfDevices(OIS::OISMouse)
getNumberOfDevices(OIS::OISKeyboard)


And from http://www.ogre3d.org/wiki/index.php/ShoggothNotes :

getWorldPosition and getWorldOrientation removed from Renderable interface, not used

* NOTE: the Node::* versions of the same name have also been removed. Use _getDerivedPosition/_getDerivedOrientation instead.


This made it work for me (unfortunately code is duplicated in all the Demos directories) :

Index: Demos/Directional_Demo/Listener.cpp
===================================================================
--- Demos/Directional_Demo/Listener.cpp (revision 130)
+++ Demos/Directional_Demo/Listener.cpp (working copy)
@@ -35,12 +35,12 @@


mInputManager = OIS::InputManager::createInputSystem(params);



- if(mInputManager->numMice() > 0)

+ if(mInputManager->getNumberOfDevices(OIS::OISMouse) > 0)

{

mMouse = static_cast<OIS::Mouse*>(mInputManager->createInputObject(OIS::OISMouse, true));

mMouse->setEventCallback(this);

}

- if(mInputManager->numKeyboards() > 0)

+ if(mInputManager->getNumberOfDevices(OIS::OISKeyboard) > 0)

{

mKeyboard = static_cast<OIS::Keyboard*>(mInputManager->createInputObject(OIS::OISKeyboard, true));

mKeyboard->setEventCallback(this);

@@ -98,7 +98,7 @@
mHornNode->yaw(Degree(115*evt.timeSinceLastFrame), Node::TS_WORLD);



// Move the camera

- mCamNode->translate(mPitchNode->getWorldOrientation() * mDirection * evt.timeSinceLastFrame);

+ mCamNode->translate(mPitchNode->_getDerivedOrientation() * mDirection * evt.timeSinceLastFrame);



const RenderWindow::FrameStats& stats = mWindow->getStatistics();

OverlayManager::getSingleton().getOverlayElement("TextAreaName")->setCaption(

Index: Demos/Basic_Demo/Listener.cpp
===================================================================
--- Demos/Basic_Demo/Listener.cpp (revision 130)
+++ Demos/Basic_Demo/Listener.cpp (working copy)
@@ -35,12 +35,12 @@


mInputManager = OIS::InputManager::createInputSystem(params);



- if(mInputManager->numMice() > 0)

+ if(mInputManager->getNumberOfDevices(OIS::OISMouse) > 0)

{

mMouse = static_cast<OIS::Mouse*>(mInputManager->createInputObject(OIS::OISMouse, true));

mMouse->setEventCallback(this);

}

- if(mInputManager->numKeyboards() > 0)

+ if(mInputManager->getNumberOfDevices(OIS::OISKeyboard) > 0)

{

mKeyboard = static_cast<OIS::Keyboard*>(mInputManager->createInputObject(OIS::OISKeyboard, true));

mKeyboard->setEventCallback(this);

@@ -95,7 +95,7 @@
yaw = pitch = 0;



// Move the camera

- mCamNode->translate(mPitchNode->getWorldOrientation() * mDirection * evt.timeSinceLastFrame);

+ mCamNode->translate(mPitchNode->_getDerivedOrientation() * mDirection * evt.timeSinceLastFrame);



const RenderWindow::FrameStats& stats = mWindow->getStatistics();

OverlayManager::getSingleton().getOverlayElement("TextAreaName")->setCaption(

Index: Demos/MultiChannel_Demo/Listener.cpp
===================================================================
--- Demos/MultiChannel_Demo/Listener.cpp (revision 130)
+++ Demos/MultiChannel_Demo/Listener.cpp (working copy)
@@ -33,12 +33,12 @@


mInputManager = OIS::InputManager::createInputSystem(params);



- if(mInputManager->numMice() > 0)

+ if(mInputManager->getNumberOfDevices(OIS::OISMouse) > 0)

{

mMouse = static_cast<OIS::Mouse*>(mInputManager->createInputObject(OIS::OISMouse, true));

mMouse->setEventCallback(this);

}

- if(mInputManager->numKeyboards() > 0)

+ if(mInputManager->getNumberOfDevices(OIS::OISKeyboard) > 0)

{

mKeyboard = static_cast<OIS::Keyboard*>(mInputManager->createInputObject(OIS::OISKeyboard, true));

mKeyboard->setEventCallback(this);

@@ -93,7 +93,7 @@
yaw = pitch = 0;



// Move the camera

- mCamNode->translate(mPitchNode->getWorldOrientation() * mDirection * evt.timeSinceLastFrame);

+ mCamNode->translate(mPitchNode->_getDerivedOrientation() * mDirection * evt.timeSinceLastFrame);



const RenderWindow::FrameStats& stats = mWindow->getStatistics();

OverlayManager::getSingleton().getOverlayElement("TextAreaName")->setCaption(

Index: Demos/PlayPen/Listener.cpp
===================================================================
--- Demos/PlayPen/Listener.cpp (revision 130)
+++ Demos/PlayPen/Listener.cpp (working copy)
@@ -33,12 +33,12 @@


mInputManager = OIS::InputManager::createInputSystem(params);



- if(mInputManager->numMice() > 0)

+ if(mInputManager->getNumberOfDevices(OIS::OISMouse) > 0)

{

mMouse = static_cast<OIS::Mouse*>(mInputManager->createInputObject(OIS::OISMouse, true));

mMouse->setEventCallback(this);

}

- if(mInputManager->numKeyboards() > 0)

+ if(mInputManager->getNumberOfDevices(OIS::OISKeyboard) > 0)

{

mKeyboard = static_cast<OIS::Keyboard*>(mInputManager->createInputObject(OIS::OISKeyboard, true));

mKeyboard->setEventCallback(this);

@@ -93,7 +93,7 @@
yaw = pitch = 0;



// Move the camera

- mCamNode->translate(mPitchNode->getWorldOrientation() * mDirection * evt.timeSinceLastFrame);

+ mCamNode->translate(mPitchNode->_getDerivedOrientation() * mDirection * evt.timeSinceLastFrame);



const RenderWindow::FrameStats& stats = mWindow->getStatistics();

OverlayManager::getSingleton().getOverlayElement("TextAreaName")->setCaption("");

Index: Demos/Doppler_Demo/Listener.cpp
===================================================================
--- Demos/Doppler_Demo/Listener.cpp (revision 130)
+++ Demos/Doppler_Demo/Listener.cpp (working copy)
@@ -120,12 +120,12 @@


mInputManager = OIS::InputManager::createInputSystem(params);



- if(mInputManager->numMice() > 0)

+ if(mInputManager->getNumberOfDevices(OIS::OISMouse) > 0)

{

mMouse = static_cast<OIS::Mouse*>(mInputManager->createInputObject(OIS::OISMouse, true));

mMouse->setEventCallback(this);

}

- if(mInputManager->numKeyboards() > 0)

+ if(mInputManager->getNumberOfDevices(OIS::OISKeyboard) > 0)

{

mKeyboard = static_cast<OIS::Keyboard*>(mInputManager->createInputObject(OIS::OISKeyboard, true));

mKeyboard->setEventCallback(this);

@@ -204,7 +204,7 @@
yaw = pitch = 0;



// Move the camera

- mCamNode->translate(mPitchNode->getWorldOrientation() * mDirection * evt.timeSinceLastFrame);

+ mCamNode->translate(mPitchNode->_getDerivedOrientation() * mDirection * evt.timeSinceLastFrame);



carNode->yaw(Degree(-100 * evt.timeSinceLastFrame));

soundManager->getSound("BusSound")->setVelocity(carNode->getOrientation().zAxis() * 100);

Index: Demos/ManySources_Demo/Listener.cpp
===================================================================
--- Demos/ManySources_Demo/Listener.cpp (revision 130)
+++ Demos/ManySources_Demo/Listener.cpp (working copy)
@@ -33,12 +33,12 @@


mInputManager = OIS::InputManager::createInputSystem(params);



- if(mInputManager->numMice() > 0)

+ if(mInputManager->getNumberOfDevices(OIS::OISMouse) > 0)

{

mMouse = static_cast<OIS::Mouse*>(mInputManager->createInputObject(OIS::OISMouse, true));

mMouse->setEventCallback(this);

}

- if(mInputManager->numKeyboards() > 0)

+ if(mInputManager->getNumberOfDevices(OIS::OISKeyboard) > 0)

{

mKeyboard = static_cast<OIS::Keyboard*>(mInputManager->createInputObject(OIS::OISKeyboard, true));

mKeyboard->setEventCallback(this);

@@ -93,7 +93,7 @@
yaw = pitch = 0;



// Move the camera

- mCamNode->translate(mPitchNode->getWorldOrientation() * mDirection * evt.timeSinceLastFrame);

+ mCamNode->translate(mPitchNode->_getDerivedOrientation() * mDirection * evt.timeSinceLastFrame);



const RenderWindow::FrameStats& stats = mWindow->getStatistics();

OverlayManager::getSingleton().getOverlayElement("TextAreaName")->setCaption(



However, this breaks backward-compatibility with pre-OIS 1.0 and pre-OGRE 1.6.

Now the rest of installing works.

$ make
$ make install
$ cd Demos/bin/
$ ./Basic
(etc....)


The Basic, Directional, Doppler, MultiChannel, and PlayPen demos even work now on Linux.
The ManySources one has a little trouble, but runs at least.
Awesome! \o/