Updated Mogre build with 1.4.2


01-07-2007 13:13:35


I've made an updated build which fixes 2 issues:

  1. Bug in ManagedDataStream (see this thread: http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=4286)

    Wrong return type in ManualObject.End (see this thread: http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=4696)

    The zip file is available here: http://pellej.com/wp-content/uploads/Mogre_0.2.1_test2.zip (54 MB)

    I've also made a SVN diff file which may be useful if you want to build the updated mogre on your own: http://pellej.com/wp-content/uploads/Mogre_0.2.1_svn.diff (2.3 MB) You can apply this to the Mogre folder after checking out from SVN



02-07-2007 20:42:28

Well, I tried your Mogre 0.2.1 test 2 and it works with my project, well actually I don´t test it extensively.

I have a question, why the RenderSystem_Direct3D9.dll in the Mogre 0.2.1 test2 is 368KB, and Mogre 0.2.0 1204KB. Why the big difference?




02-07-2007 21:19:36

Hmmm that's a good question. Maybe I'm building against a different version of the DirectX SDK ... but it is a rather big difference .. or maybe there have been some changes in 1.4.2 causing this.

I haven't experienced any problems using the Direct3D renderer though.

I noticed that the version in the binary drop I have of Ogre 1.4.2 SDK is only 356K, so I'm guessing it's okay.



02-07-2007 21:59:03

Yes, it seems is a change in Ogre and not Mogre, well is not a problem.

Do you think the Mogre 0.2.1 build is ready to use?
Did you implements all the new fixes and changes of Ogre 1.4.2 in Mogre 0.2.1 test2?.

Thanks for your work, I am using Mogre 0.2.0 for my project but if Mogre 0.2.1 is ready maybe I can change.

I will test each release of Mogre that you upload with my project and post comments.




02-07-2007 22:25:14

I did a CVS update of all the Ogre sources to 1.4.2 for the Mogre 0.2.1 build, so all the changes should be there. I cannot however guarantee that everything is working as I have not done exhaustive testing ( neither do I have the sparetime to do so :( ). I have however tested all the samples that came with Mogre and they are all working as far as I can see.

As mentioned I have made 2 fixes in the test2 build which fixes problems that were present in Mogre 0.2.0.

Hope this clarifies,



04-07-2007 09:45:48

thanks for your excellent work of MOGRE 0.2.1


09-07-2007 14:54:20


Little bug report here, actually not a bug, more a packaging detail, no need to recompile or anything.

First, big thanks to pjohnsen for finding out how to build Mogre. REALLY APPRECIATED! Now 1.4.3 is out, I guess you will have some more work on your hand! :wink:

THE PROBLEM : When you built your test distribution, you put in the /include folder the original Ogre SDK include files. For Mogre, you HAVE to put the modified Mogre include files (those with CLRConfig.h, CLRObject.h, etc.). You can verify that this was the case in Mogre 0.2.0 and previous version. This is required if you want to built 3rd party plugins (like PLSM2, custom movable objects, etc.) that will work with Mogre. Otherwise, the classes will have slightly different structures and the built Dlls will be incompatible.

THE FIX : Just remove the include subfolder of your distribution and replace with the include folder in mogre\trunk\Mogre\ogrenew\OgreMain\include.

I hope I made myself clear.



09-07-2007 20:14:37

Also pjohnsen.

Have you tried debugging with these new versions that you built ? I just cant get it to work. If I try to put a breakpoint in your "framestarted" method, VS crashes. (VS2005 SP1 + Vista patch).

With the old version (0.2.0 and previous) debugging was working if I added the debug versions as a reference (debug/mogre.dll which uses OgreMain_d.dll). With the release versions, it crashed.

Now, it crashes with both debug and release. Any thoughts ?

The old versions came with Mogre.pdb for the debug version, do you think that could help ? Do you still have the the one that was generated when you built it ? (It has to be the exact same pdb that matches the DLL).

UPDATE & FIX : I confim that if you suplly the Mogre.pdb file with the debug version of Mogre (in the debug folder), if fixes all debug problems. I built my own Mogre with your instructions and it works now.



09-07-2007 20:53:29


To summarise the 2 "packaging bugs" for the next release :
  1. Replace the \include folder with Mogre's include files.[/*:m]
  2. Include Mogre.pdb in the debug folder.[/*:m][/list:u]Thanks a lot!



09-07-2007 21:51:59

Thanks for the bug report .. I hope I can have a look at making a 1.4.3 release during the weekend ... Maybe I should also look into getting the SDK build stuff working with the nullsoft installer and all ... that would probably get the debug stuff fixed as well :)



09-07-2007 22:59:00


You rock man! But I would keep the installer on low priority. It is better to a have a working zip file package that a buggy installer!



10-07-2007 00:13:11

Hehe another ogre release!, well take your time to make a bug-free Mogre 1.4.3.

The installer is not very important.

I am now using Mogre for 1.4.2 and it works fine.




10-07-2007 04:17:17

Just to let your know that I think you are on the right track to try to make the installer work. By looking a the nullsoft setup file, you can see that it will fix the two issues I identity earlier today.

In "mogre\trunk\Mogre\ogrenew\SDK\Win32", you have the installer file modified for Mogre.

In ogresdk.nsh :
  1. At line 80, you can see in the header section that it actually copies the headers from Mogre.[/*:m]
  2. At line 180, you can see that it goes out of its way to copy Mogre.pdb. [/*:m][/list:u]CONCLUSION : Work on that installer if you have a couple of hours, it is a great idea! It should fix EVERYTHING!



11-07-2007 00:05:40


If you find some time to package that 1.4.3 version, could you please look at including the Ogre::Profiler class to Mogre. For some reason, it has always been left out.

Just comment out line #154 or "Attribute.xml" :

<!-- <class name="Profiler" Ignore=""/> -->

That's it! This is really important for my project.

If anyone is interested, to use the profiler in your app afterward, you can initialize it by doing this (See http://www.ogre3d.org/wiki/index.php/OgreProfiler#Release_Version_Considerations for details) :

// Instanciate dummy profiler to create singleton.
Profiler p = new Profiler();

// Assign a new timer. (Note : do not try to watch of get the value of the timer field before you set the value.
p.Timer = new Timer();

// Enable the profiler.
Profiler.Singleton.Enabled = true;

Then to time stuff in your app, simply do :


// Do something here like rendering, physics, etc...


Thanks man!