I finally made it: The new Advanced Ogre Framework is finished and up in the wiki .
As its predecessor (the Basic Ogre Framework), it is meant as an entry point application showing some of the most commonly used and needed features in an Ogre application such as:
- Standard Ogre initialization
- Game State System
- Graphical User Interface (SDKTrays)
- Different input modes (game mode / settings mode)
- DotScene loading
- Manual material manipulation
Wiki URL: AdvancedOgreFramework
Mercurial Repostiroy URL: BitBucket AdvancedOgreFramework Repository
Note: There are separate branches for the different Ogre versions.
As with the first version, I am now asking for feedback: From the experts concerning style and correctness and from the others feedback regarding features and understandability.
As long as there is no "go" from some Ogre experts, usage is at your own risk, but since everything works (at least for me), there should not be that much problems with it.
For those who want to know how this thing evolved, have a look at the feature discussion thread I opened some time ago, to ask what would be wished for this application. Most things were realized, but if you feel like something is really missing, go ahead and tell me. I will then either put it in (or more likely since it is already quite big), make an extra article for that.
Perhaps I will also change the wiki page a bit, by e.g. making several smaller pages out of this big one (third biggest page on the wiki ). Not totally sure about it though yet, so I'm also hoping for feedback on these kind of things.
That's about it for the beginning. Now I hope that you like it and I am looking forward to get feedback and things to change
- ported to Ogre 1.9 (v1.8 version remains as branch)
- all platforms now use Ogre::WindowEventUtilities::messagePump()
- m_pTrayMgr was missing a null initialization in the class constructor, resulting in a possible RT error when leaving the application at the renderer selection screen
- added some Linux specific code bits
- fixed null pointer exception with m_pCurrentObject
- when being in a question dialog you cannot press escape anymore to prevent the application from funny behavior
- corrected pauseAppState()
- removed memory leak caused by m_pTrayMgr
- removed memory leak caused by pDotSceneLoader
- changed the AppStateMananger destructor to properly delete all its managed states
I finally updated the framework to work with Ogre 1.7 and OgreBites::SDKTrayManager as GUI.
- one more app state added (pause mode)
- chat mode replaced by a settings mode
- switched to RapidXML DotSceneLoader