History: MacDotScene
Source of version: 3 (current)
Copy to clipboard
''Made with Ogre 1.0.4 | OSX 10.4.2 | XCode 2.1''
!!Introduction : What are we going to do here ?
The goal is here to build both the dotSceneManager plugin AND the octree converter. For that purpose, we will create a project and two targets in it.
!!Building the dotSceneManager Plugin
First, open XCode and make a new project
Choose a Cocoa Bundle
Then choose your project directory and name : Plugin_DotSceneManager would be easier
Remove :
* the CoreData framework
* the Foundation framework
* the AppKit framework
* the .pch file
Add 2 new groups in Classes :
* __Plugin__
* __Common__
Add the existing files in __Plugin__ :
* from ogreaddons/dotsceneoctree/PlugIns/DotSceneManager/include :
** DotSceneManager.h
** SceneMain.h
** SceneOctree.h
** SceneOctreeRenderable.h
* from ogreaddons/dotsceneoctree/PlugIns/DotSceneManager/src
** DotSceneManager.cpp
** DotSceneManagerDLL.cpp
** SceneMain.cpp
** SceneOctree.cpp
** SceneOctreeRenderable.cpp
Add the existing files in __Common__ :
* from ogreaddons/dotsceneoctree/PlugIns/DotSceneManager/include :
** tinystr.h
** tinyxml.h
* from ogreaddons/dotsceneoctree/PlugIns/DotSceneManager/src
** tinystr.cpp
** tinyxml.cpp
** tinyxmlerror.cpp
** tinyxmlparser.cpp
Add the frameworks :
* Cocoa from /System/Library/
* Ogre, SDL & zzip from ~/Library/
In tinyxml.h, add #define TIXML_USE_STL on the first line to avoid conversion errors with Ogre::String
Then go to your project options
* in header search paths put : $(HOME)/Library/Frameworks/Ogre.framework/Versions/A/Headers
* in framework search path put : $(HOME)/Library/Frameworks
* delete the "Prefix Header" entry
* uncheck the "Precompile Prefix Header"
Hit Build and you already have you DotSceneManager Plugin !
!!Building the dotScene converter
Create a new target on the same project : BSD => Shell Tool
Name it dotSceneConverter
Add a new group : __Converter__
Add it the files (when adding, be sure to add the files to the dotSceneConverter target) :
* from ogrenew/Mac/XCode/Classes :
** SDLMain.h
** SDLMain.m
* from ogreaddons/dotsceneoctree/Tools/ExampleSceneConverter/include/
** SceneConverter.h
** SceneConverterOctree.h
** SceneConverterOctreeObjects.h
* from ogreaddons/dotsceneoctree/Tools/ExampleSceneConverter/src
** main.cpp
** SceneConverter.cpp
** SceneConverterOctree.cpp
** SceneConverterOctreeObjects.cpp
In your target :
* add the *.cpp from the __Common__ group we created earlier to the "Compile Sources" build phase
* add Cocoa, Ogre, SDL and zzip frameworks to the "Link Binary With Library" build phase
In main.cpp, wrap the main function with : extern "C" { }
This should be like this then :
{CODE(wrap="1", colors="c++")}extern "C"
{
main (int numargs, char** args)
{
...
}
}{CODE}
Then go to your project options
in header search paths put : $(HOME)/Library/Frameworks/Ogre.framework/Versions/A/Headers
in framework search path put : $(HOME)/Library/Frameworks
Change the current target to build, hit build and enjoy !
!!Conclusion : How to use this now ?
You have to ways now for the bundle :
* either you copy the new bundle to $(HOME)/Library/Frameworks/Ogre.framework/Versions/A/Resources. In that case, you'll be sure to have for any new Ogre project,
* or you just link your projects with the bundle when you really need it.
For the converter, just use it with the terminal, as usual.
Any remarks ? please pm __fp12__ on the forum ;)