Example Newbie Miyagi Project?

Aralox

13-03-2012 11:50:23

Hey there, I've heard so many good things about Miyagi, and really would like to try it out (despite the disappearance of the thread).
Unfortunately, there doesnt seem to be a guide on how to actually get it working, which is really frustrating.

I'm currently trawling through the (pretty hidden) example code at http://miyagi.hg.sourceforge.net/hgweb/miyagi/miyagi/file/b677394a2587/Projects/Examples/Mogre, but as most of us know, climbing inheritance trees just to find out whats going on is the exact opposite of fun.

Would anyone who has acquired this prized Miyagi-knowledge care to write a really simple example project that I (and other newbs) could study?
When I say project, I mean a visual studio 2010 project (.NET 4), but seriously anything that works will do. I will love you forever.

Thanks!

moron

31-03-2012 20:07:11

I second this. I don't know how to get Miyagi set up, but past that it looks easy.

Aralox

01-04-2012 07:30:48

Since I'm an amazing guy, and the kittens all over the forum make me happy, I went ahead and made an example project.
Its got some basics on how to set up a gui system (really easy), and examples of a few controls in there. Its not perfect, and might be missing important info, but its what I have learned from both the documentation, and studying elusive snippets from various places. I've also included the tutorial framework (which I slightly altered), and miyagi documentation chm, which is really useful.

Here is the project: http://www.box.com/s/b0fae8271f81d558f320

If you want to just quickly see what the code looks like, here is the class:

Update: I just want to stress, make sure you create a cursor! Your controls will not pick up clicks otherwise (although the InputManager will still fire mouse events)

//Created April 2012 by Aralox (at gmail.com) for viewtopic.php?f=8&t=29359
//Uses the tutorial framework from the wiki

using Miyagi.UI.Controls.Layout;
using Miyagi.Common.Data;
using Miyagi.Common.Resources;
using Miyagi.Common;
using Miyagi.UI;
using Miyagi.UI.Controls;
using System.Collections.Generic;

namespace Miyagi_Newbie
{
public class Program : Mogre.TutorialFramework.BaseApplication
{
Dictionary<string, Skin> skinDict;
Dictionary<string, Font> fonts;
MiyagiSystem system;
GUI gui;

ProgressBar progress;

protected override void CreateScene()
{
system = new MiyagiSystem("Mogre");
gui = new GUI();
system.GUIManager.GUIs.Add(gui);

// Make sure mKeyboard and mMouse have already been created when doing this in your system
// Note: If you use the precompiled Mogre.TutorialFramework dll from the wiki, they actually create
// the input system AFTER CreateScene() is called, so the miyagi input doesnt work. (it was quite
// an annoying bug to find)
system.PluginManager.LoadPlugin(@"Miyagi.Plugin.Input.Mois.dll", mKeyboard, mMouse);

// Create a cube for fun
var ent = mSceneMgr.CreateEntity(Mogre.SceneManager.PrefabType.PT_CUBE);
var node = mSceneMgr.RootSceneNode.CreateChildSceneNode();
node.AttachObject(ent);

// Create font dictionary
fonts = new Dictionary<string, Font>();

// Note: When loading fonts, the font file is loaded without the help of Mogre, so you must include the full path
// inside the TrueTypeFonts.xml. Hopefully theres an easier way, but I havent found it yet.
foreach (Font font in TrueTypeFont.CreateFromXml("../../Media/TrueTypeFonts.xml", system))
fonts.Add(font.Name, font);

Font.Default = fonts["BlueHighway"];

// Load some skins. Unlike fonts, the images ARE loaded using Mogre, so you can have the images anywhere referenced
// by your resources.cfg file
Skin cursorSkin = Skin.CreateFromXml("../../Media/cursorSkin.xml")[0];

var skins = Skin.CreateFromXml("../../Media/testSkin_map.skin"); //also an xml file, just a different extension
skinDict = new Dictionary<string, Skin>();

foreach (Skin skin in skins)
skinDict.Add(skin.Name, skin);

// Button - Note that you cannot click on this, as it is behind the TableLayoutPanel.
// Just move it to the side or resize the table to fix this
Button button = new Button();
button.Size = new Size(200, 100);
button.Location = new Point(50, 500);
button.Skin = skinDict["Button"];
gui.Controls.Add(button);

// Label
Label label = new Label();
label.Size = new Size(100, 50);
label.Location = new Point(500, 500);
label.Text = "Hello Miyagi";
gui.Controls.Add(label);

// Cursor
Cursor cursor = new Cursor(cursorSkin, new Size(50, 50), new Point(0, 0), true);
system.GUIManager.Cursor = cursor;

// Progressbar
progress = new ProgressBar();
progress.Size = new Size(300, 50);
progress.Skin = skinDict["ProgressBarH"];
progress.Location = new Point(50, 50);
gui.Controls.Add(progress);

// Table
TableLayoutPanel table = new TableLayoutPanel();
table.Location = new Point(50, 300);
table.Size = new Size(500, 500);

table.RowCount = 5;
table.ColumnCount = 5;

// Make sure you create the TableLayoutStyle objects, and add them to the table's column styles and row styles
// (dont need to do this for flow layout)
var colStyles = new TableLayoutStyle[table.RowCount];
var rowStyles = new TableLayoutStyle[table.ColumnCount];

for (int i = 0; i < colStyles.Length; i++)
colStyles = new TableLayoutStyle(SizeType.Absolute, 60); //width

for (int i = 0; i < rowStyles.Length; i++)
rowStyles = new TableLayoutStyle(SizeType.Absolute, 50); //height

table.ColumnStyles.AddRange(colStyles);
table.RowStyles.AddRange(rowStyles);

for (int i = 0; i < table.RowCount + table.ColumnCount; i++)
{
Button b = new Button();
b.Size = new Size(50, 50);
b.Skin = skinDict["Button"];
table.Controls.Add(b);
}

gui.Controls.Add(table);

// Flow layout panel
FlowLayoutPanel flowPanel = new FlowLayoutPanel();
flowPanel.Size = new Size(300, 500);
flowPanel.Location = new Point(600, 50);

for (int i = 0; i < 5; i++)
{
Button b = new Button();
b.Size = new Size(50, 50);
b.Skin = skinDict["Button"];
flowPanel.Controls.Add(b);
}

Button b2 = new Button();
b2.Size = new Size(80, 80); // Put in the middle to see the effect it has on the flow panel
b2.Skin = skinDict["Button"];
flowPanel.Controls.Add(b2);

for (int i = 0; i < 5; i++)
{
Button b = new Button();
b.Size = new Size(50, 50);
b.Skin = skinDict["Button"];
flowPanel.Controls.Add(b);
}

gui.Controls.Add(flowPanel);

}

float barval = 0;

protected override void UpdateScene(Mogre.FrameEvent evt)
{
barval += 0.1f;
progress.Value = (int)barval;

system.Update();
base.UpdateScene(evt);
}

// dispose stuff or opengl will complain when we quit
protected override void DestroyScene()
{
system.Dispose();
mRoot.Dispose();
}

public static void Main()
{
new Program().Go();
}
}
}

moron

01-04-2012 18:32:46

Thanks!

Beauty

11-04-2012 21:02:51

Here is the project: http://www.box.com/s/b0fae8271f81d558f320
Thank you very much for publishing.

I added a link to the Miyagi wiki page.
Also I added it to the task list of the MogreSDK. So it should be included later.

Beauty

13-04-2012 01:08:04

I just tested your demo.

Here is a screenshot for people who are too lazy for downloading/starting it.


The code is very clear and great for beginners.

Unfortunately the GUI doesn't looks very nice. Also there is not much functionality.
So newcomers could think "Oh, it looks bad. I don't like to use it."

Nice would be to include some interactive elements like scrollbars, checkboxes, an input field, an Exit button (to close the demo), etc.



A local friend of mine created a tiny game called Dunno, which uses Miyagi.
The GUI looks awesome.
The code he published and we are allowed to rip off what we need.
It would be nice to extract the GUI of the game including materials and interativity to build an example for the MogreSDK.
To have this interactive menu as Miyagi demo would be great.

If somebody has questions related to the game, I can invite my friend to this forum topic.

Side note:
The game was created in middle of 2009. So perhaps it's based on an outdated Miyagi version.
Nevertheless I'm shure that the game GUI can be updated to be compatible with the current Miyagi version.

The game was published here:
http://code.google.com/p/dunno/

Here is a screenshot:

Beauty

13-04-2012 01:28:34

I looked to the code and it is very clear.
All Miyagi related code seems to be in one single file:
http://code.google.com/p/dunno/source/b ... no/Menu.cs

Aralox

13-04-2012 02:05:31

Thats really really cool, thanks for sharing!

Beauty

13-04-2012 09:43:40

By your example and your forum topic I remembered that I wanted to publish an information about that.
I know this game for 1 or 2 years now, but there were so many things on my Ogre TODO list that I forgot it.
So it's also a benifit of you that the Mogre users know about this Miyagi example code.

moron

13-04-2012 22:28:28

Finally got around to not being lazy and trying this out, but it crashes when I try to run it.

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Mogre.dll' or one of its dependencies. The specified module could not be found.

Tried on my desktop(x64) and my netbook(x86) and both give the same error. It works on my cousin's laptop(x64), but not his desktop(x64). All are Windows 7.

Problem signature:
Problem Event Name: APPCRASH
Application Name: Miyagi Newbie.exe
Application Version: 1.0.0.0
Application Timestamp: 4f77ef0c
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.1.7600.16385
Fault Module Timestamp: 4a5bdbdf
Exception Code: e0434352
Exception Offset: 0000b727
OS Version: 6.1.7600.2.0.0.256.1
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789


Tried adding the code to my project as well, and that was a no go. I think Miyagi hates me. :<

Beauty

14-04-2012 00:24:02

Which demo you mean?
The one of Aralox or the Dunno game?

Both works for me. I just downloaded the projects.
For Dunno I needed to open the Visual Studio file and pushed F5 for compiling. For the Aralox demo I just clicked the exe file.
I also have Win 7 64 bit.

It seems so that you are a newcomer.
Perhaps you need to install/update a depency.
Especially run the DirectX updater (here).

Which Mogre binaries you use?
Do you use Visual Studio 2008 or 2010? (Or a free Express version?)

Does your test application work without Miyagi?
Is there an exception message in the ogre.log file?

I never used Miyagi, but I suppose when it's build, it's linked to Mogre.
This means that you only can use the Miyagi.dll file with the same Mogre binaries as used at build time.
Mixing a Miyagi file with an other Mogre.dll file should cause problems.
(I'm not shure about, but I suppose so. If it's not linked agains Mogre, this should be no problem.)

I suppose more details are written on the Miyagi wiki page or on a linked page.
On the Miyagi sourceforge page you can download the current version.
... I just downloaded it and looked to it. There is also further information inside.

I hope I could help.

Beauty

14-04-2012 00:29:21

System.IO.FileNotFoundException: Could not load file or assembly 'Mogre.dll' or one of its dependencies.
It's useful when you add all Mogre binary files and the Miyagi files to your binary output directory (e.g. yourProject\bin\debug).
Don't forget the OgreMain.dll and other files.

moron

14-04-2012 06:22:45

Which demo you mean?
The one of Aralox or the Dunno game?

Aralox.
Perhaps you need to install/update a depency.
Possibly. No clue what I would be missing, though. Project seems to come with everything it needs.
Especially run the DirectX updater (here).
Already up to date.
Which Mogre binaries you use?
For my project, whatever the last stable release was. For Aralox's example, the ones that come with it.
Do you use Visual Studio 2008 or 2010? (Or a free Express version?)
Sharpdevelop.
Does your test application work without Miyagi?
Yes.
Is there an exception message in the ogre.log file?
Not in the log, but the console. Object reference not set to an instance of an object. Know what it is, just don't know where it's happening.
Having the miyagi example running should be enough for me to figure it out, so I'm not too worried about that.
I never used Miyagi, but I suppose when it's build, it's linked to Mogre.
This means that you only can use the Miyagi.dll file with the same Mogre binaries as used at build time.
Mixing a Miyagi file with an other Mogre.dll file should cause problems.
(I'm not shure about, but I suppose so. If it's not linked agains Mogre, this should be no problem.)

Don't think so. I just stick the newest precompiled DLLs in and add references. Don't compile it myself because that's always been messy with miyagi. Tons of warnings and errors, mostly related to signing, though I can get it to compile with some tweaking. More worried about the example though, as having a working miyagi example will help greatly.

Aralox

14-04-2012 07:42:26

I'm working on a project due in a few days atm, so I wont be able to check this out properly yet, but im guessing the problem is something to do with the IDE. Check that the references and paths are all sorted out in SharpDevelop, and if you still have access to your cousin's laptop play spot-the-difference to see if you can come up with something.
good luck

Beauty

14-04-2012 12:25:25

SharpDevelop
This could be the reason.
The Mogre binaries are compiled by the Visual Studio compiler.
I don't know the current VS state, but in the past the computer needs additional software to run binaries, that were compiled with Visual Studio.
The name is "Microsoft Visual C++ 20xx Redistributable Package" or just "vcredist".
If Visual Studio is installed, the needed depencies are installed automatically. Otherwise you have to install them seperately.
The vcredist version depends to the Visual Studio version, which was used to compile the binaries.
When they were compiled with VS 2008, you need vcredist 2008. If they are compiled with VS 2010, you need vcredist 2010. If you use binaries, which were compiled with different VS versions, you need both. If the binaries were compiled with VS 2008 SP1, you need the vcredist for SP1. The same for VS 2010 SP1.
Yes, it sounds a little bit complex, but it isn't when you know this backgrounds.
Did you install the MogreSDK?
It's a little bit outdated, but it installs all needed depencies for the containing binaries, for example vcredist.

You don't know which binaries you have.
Just install all of these vcredist versions. So you can be shure that this possible problem is solved.
Note: Don't install the x64 version (even when you have Win 64 bit), because Mogre is by default compiled against x86.
Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
Microsoft Visual C++ 2010 Redistributable Package (x86)
Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
Microsoft Visual C++ 2010 Redistributable Package (x86)

Already up to date.
DirectX 9 became updates (redistributable packages) about 2 times per year, but the version number didn't change.
So to be realy shure, run the web updater.

Could not load file or assembly 'Mogre.dll' or one of its dependencies
Good tools to find out missing depencies (files) are these:
  1. Depency Walker - analyse of dll/exe files[/*:m]
  2. Process Monitor - Use the filter to search for failed file accesses (missing files)[/*:m][/list:u]

zarfius

15-04-2012 08:40:42

Interesting :)

Beauty

15-04-2012 12:45:06

Do you mean something specific or the whole topic?

zarfius

17-04-2012 01:28:45

Do you mean something specific or the whole topic?
Well, I meant the whole topic, but actually I really just wanted to follow the topic and I couldn't find any way to do it without posting something. To be honest I've been very busy and still haven't had a chance to read the whole topic yet :| In particular I liked the look of the screenshots when I scrolled through.

Beauty

17-04-2012 01:43:29

I couldn't find any way to do it without posting something
Scroll down to the bottom of a topic. There you'll find a link called "suscribe topic". Just click it. :mrgreen:

haven't had a chance to read the whole topic yet
Related to the biggest screenshot:
It's the game Dunno.
Just download the project, go to the binary directory and click the ready to use exe file. (takes only 1 minute)
Then you will see the look, behaviour and sweet smell of a great Miyagi GUI example. (takes only a second minute)

Have fun!

Aralox

17-04-2012 06:53:37

Hey moron (lol), I just had this problem running my game on my bro's comp, and found (using dependency walker) that his computer was missing msvcp100d.dll and msvcr100d.dll.
Running the Visual c++ distributable should fix these problems (I'm not sure which version you should get), but I just copied the dlls over from my System32 folder to his computer, and it works.

moron

19-04-2012 02:15:46

Hey moron (lol), I just had this problem running my game on my bro's comp, and found (using dependency walker) that his computer was missing msvcp100d.dll and msvcr100d.dll.
Running the Visual c++ distributable should fix these problems (I'm not sure which version you should get), but I just copied the dlls over from my System32 folder to his computer, and it works.


Yeah, I already had the redistributables, but was still missing stuff. Moving the DLLs fixes it. Cousin figured that out the same way, just haven't gotten around to doing it on my PC.

Aralox

19-04-2012 03:12:09

Sweet, hope it works out :)

apocacist

16-07-2012 05:41:19

I was having issues with dependencies, getting messages that indicated I was missing .DLLs but I eventually figured it out.

Apparently, my computer decided to block the .DLLs because they came from the internet. If you right click on the file and go to properties, there MAY be a button at the bottom of the general tab that says "unblock". This button only appears if the file is blocked. I've never seen this before so I took a screenshot to prove it, but alas, this "board attachment quota" has been reached.

Beauty

16-07-2012 12:47:48

I never heard about such a problem, but good to know.
You can use an image web service. The best is to choose one, which allows to embedd the full image into forum pages.
I like ImageBanana very much (German only? Or does it switch the languate automatically?).

An english image uploader is e.g. ImageShack. For easy embedding upload the image and copy the pre-generated forum code snippet.
Examples:

zarfius

17-07-2012 00:09:14

I was having issues with dependencies, getting messages that indicated I was missing .DLLs but I eventually figured it out.

Apparently, my computer decided to block the .DLLs because they came from the internet. If you right click on the file and go to properties, there MAY be a button at the bottom of the general tab that says "unblock". This button only appears if the file is blocked. I've never seen this before so I took a screenshot to prove it, but alas, this "board attachment quota" has been reached.

I've never seen that before either but I found a screenshot via google images fairly easy.

RcALTIN

12-08-2012 07:07:26

i looked newbie example project and i liked it very much so i decided to use miyagi as gui of my project. i am using mogre 1.7.4 in my project which has terrain paging support. i tried to add to my project the miyagi.dll(1.2.1) but i have got that error when i tried to compile:



I think this related to Mogre version difference. Do I have to use Mogre 1.7.1? Is there any solution for this error or any miyagi release for Mogre 1.7.4?

RcALTIN

15-08-2012 17:36:16

Isn't there any compatible version for 1.7.4 ? :( I'm still looking for any GUI for 1.7.4 Mogre, especially miyagi. Still i did'nt find any GUI solution/alternative which has support 1.7.4 dll.

Aralox

16-08-2012 04:13:27

Sorry RcALTIN, looks like there isnt. Maybe you could use the previous version for now, and try to keep your code abstract enough so a port to 1.7.4 will be easier when it is released?
I haven't done any mogre/miyagi programming for a few months so im not up to date with the recent developments.
good luck :)

zarfius

16-08-2012 07:08:50

I haven't looked at the Miyagi source code, but wouldn't it be relatively easy or at least possible to recompile it against the latest version of Mogre?

RcALTIN

16-08-2012 08:50:25

Sorry RcALTIN, looks like there isnt. Maybe you could use the previous version for now, and try to keep your code abstract enough so a port to 1.7.4 will be easier when it is released?
I haven't done any mogre/miyagi programming for a few months so im not up to date with the recent developments.
good luck :)


Thank you for your interest. I wanted to use new terrain component but I guess I will have to change. :?

I haven't looked at the Miyagi source code, but wouldn't it be relatively easy or at least possible to recompile it against the latest version of Mogre?

I don't know c++ as well. So I haven't looked for anything about compiling.

zarfius

16-08-2012 12:44:45

Okay, I just had a look at the Miyagi source code and there's no need to know any C++. But you will probably need Visual Studio Pro. When I tried compiling it with VS Express I got a bunch of errors.

I did however manage to compile the Miyagi.dll and Miyagi.Backend.Mogre.dll files against the Mogre 1.7.4 dll pretty easily. There are a few other settings I had to change in the project as well, like making sure they are all set to x86 and removing the DLL signing and fixing up some project references.

If you want you have a go yourself, grab a copy of TortiseHg and clone the repository yourself. Open the solution file and see if you can compile it. Once it compiles correctly, all you need to do is change the reference to the Mogre.dll to the one your currently using and bob's your mother's brother.

Honestly, I'm not really interested in Miyagi myself at this stage, but I am happy to help out so if you put in the effort I'm here to answer your questions.

zarfius

17-08-2012 01:41:16

Here, try this:

Miyagi .NET4 built against Mogre 1.7.4 with Terrain and Paging

Modified source code

I have no idea if it works, but it did compile.

RcALTIN

17-08-2012 02:39:06

Here, try this:

Miyagi .NET4 built against Mogre 1.7.4 with Terrain and Paging

Modified source code

I have no idea if it works, but it did compile.


Thanx alot, i will try it... Also I modified too few minutes ago, but it didnt work. :(

EDIT: same result, it didnt work.. and i got same error, "accessviolation bla bla"

zarfius

17-08-2012 03:22:12

EDIT: same result, it didnt work.. and i got same error, "accessviolation bla bla"
This could be caused by a number of things but most likely you've got incompatible versions of native DLL's. Make sure you are using the one's provided in the zip because they are they ones that it was build against.

Check your Ogre.log file and see if there is any useful information.

Lastly, wrap the offending code in a try catch block that looks like this


try
{
// some mogre code here
}
catch(SEHException sehEx)
{
// some Ogre exception happened
if (OgreException.IsThrown)
throw new Exception(OgreException.LastException.FullDescription, ex);
}
catch(Exception ex)
{
// normal .NET exception
}

RcALTIN

17-08-2012 03:46:18

EDIT: same result, it didnt work.. and i got same error, "accessviolation bla bla"
This could be caused by a number of things but most likely you've got incompatible versions of native DLL's. Make sure you are using the one's provided in the zip because they are they ones that it was build against.

Check your Ogre.log file and see if there is any useful information.


I tried a lot, dll's from your zip, from compiling of my modified version, from new compiling of your modified version... I got same result everytime, but last time i got same error different place, in MogreRenderManager.cs in CreateTransparentTexture function.(probably related with MOIS, i compiled it again at last time) And there is no information about miyagi in the log file.

zarfius

17-08-2012 04:38:03

but last time i got same error different place, in MogreRenderManager.cs in CreateTransparentTexture function. (probably related with MOIS, i compiled it again at last time)
Well that's progress at least.

And there is no information about miyagi in the log file.
I wasn't expecting information about Miyagi in the log file, but sometimes it gives you a hint to what went wrong rather than just "AccessViolation".

I'm fresh out of ideas at the moment. I'll let you know if I think of anything else. In the mean time, hopefully someone else will come along and try.

wolen

22-09-2012 23:30:12

Hi, I have similar problem...Yesterday I start with Miyagi and my first steps was read Miyagi NewBie. It looks fine so i decided to give it to my project. I set resources, dlls, etc. and this problem comes


So I commented new code and found first thing which did it. You wont be surprised
// Button - Note that you cannot click on this, as it is behind the TableLayoutPanel.
// Just move it to the side or resize the table to fix this
Button button = new Button();
button.Size = new Size(200, 100);
button.Location = new Point(50, 500);
button.Skin = skinDict["Button"];
gui.Controls.Add(button);


Any ideas how to fix it?

wolen

23-09-2012 00:14:10

I read about this exception something like "You must unload all Managers" but

gui.DisposeAllControls();
//gui.Dispose();
system.PluginManager.UnloadAllPlugins();
system.PluginManager.Dispose();
//system.Dispose();
button.Dispose();
skinDict.Clear();

nothing works

smiley80

23-09-2012 16:38:05

Please post your 'ogre.log'.

I read about this exception something like "You must unload all Managers" but
miyagiSystem.Dispose is enough.

wolen

23-09-2012 18:00:13

Ok, now I am using
system.Dispose();
And my log :
18:58:27: Creating resource group General
18:58:27: Creating resource group Internal
18:58:27: Creating resource group Autodetect
18:58:27: SceneManagerFactory for type 'DefaultSceneManager' registered.
18:58:27: Registering ResourceManager for type Material
18:58:27: Registering ResourceManager for type Mesh
18:58:27: Registering ResourceManager for type Skeleton
18:58:27: MovableObjectFactory for type 'ParticleSystem' registered.
18:58:27: OverlayElementFactory for type Panel registered.
18:58:27: OverlayElementFactory for type BorderPanel registered.
18:58:27: OverlayElementFactory for type TextArea registered.
18:58:27: Registering ResourceManager for type Font
18:58:27: ArchiveFactory for archive type FileSystem registered.
18:58:27: ArchiveFactory for archive type Zip registered.
18:58:27: DDS codec registering
18:58:27: FreeImage version: 3.13.1
18:58:27: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
18:58:27: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2,pfm,pct,pict,pic,bay,bmq,cr2,crw,cs1,dc2,dcr,dng,erf,fff,hdr,k25,kdc,mdc,mos,mrw,nef,orf,pef,pxn,raf,raw,rdc,sr2,srf,arw,3fr,cine,ia,kc2,mef,nrw,qtk,rw2,sti,drf,dsc,ptx,cap,iiq,rwz
18:58:27: PVRTC codec registering
18:58:27: Registering ResourceManager for type HighLevelGpuProgram
18:58:27: Registering ResourceManager for type Compositor
18:58:27: MovableObjectFactory for type 'Entity' registered.
18:58:27: MovableObjectFactory for type 'Light' registered.
18:58:27: MovableObjectFactory for type 'BillboardSet' registered.
18:58:27: MovableObjectFactory for type 'ManualObject' registered.
18:58:27: MovableObjectFactory for type 'BillboardChain' registered.
18:58:27: MovableObjectFactory for type 'RibbonTrail' registered.
18:58:27: Loading library .\RenderSystem_Direct3D9
18:58:27: Installing plugin: D3D9 RenderSystem
18:58:27: D3D9 : Direct3D9 Rendering Subsystem created.
18:58:28: D3D9: Driver Detection Starts
18:58:28: D3D9: Driver Detection Ends
18:58:28: Plugin successfully installed
18:58:28: Loading library .\RenderSystem_GL
18:58:28: Installing plugin: GL RenderSystem
18:58:28: OpenGL Rendering Subsystem created.
18:58:28: Plugin successfully installed
18:58:28: Loading library .\Plugin_OctreeSceneManager
18:58:28: Installing plugin: Octree & Terrain Scene Manager
18:58:28: Plugin successfully installed
18:58:28: *-*-* OGRE Initialising
18:58:28: *-*-* Version 1.7.1 (Cthugha)
18:58:28: D3D9 : RenderSystem Option: Full Screen = No
18:58:28: D3D9 : RenderSystem Option: Video Mode = 1280 x 720 @ 32-bit colour
18:58:28: D3D9 : RenderSystem Option: FSAA = 0
18:58:28: CPU Identifier & Features
18:58:28: -------------------------
18:58:28: * CPU ID: GenuineIntel: Intel(R) Core(TM) i7 CPU Q 720 @ 1.60GHz
18:58:28: * SSE: yes
18:58:28: * SSE2: yes
18:58:28: * SSE3: yes
18:58:28: * MMX: yes
18:58:28: * MMXEXT: yes
18:58:28: * 3DNOW: no
18:58:28: * 3DNOWEXT: no
18:58:28: * CMOV: yes
18:58:28: * TSC: yes
18:58:28: * FPU: yes
18:58:28: * PRO: yes
18:58:28: * HT: no
18:58:28: -------------------------
18:58:29: D3D9 : Subsystem Initialising
18:58:29: Registering ResourceManager for type Texture
18:58:29: Registering ResourceManager for type GpuProgram
18:58:29: D3D9RenderSystem::_createRenderWindow "Render Window", 1280x720 windowed miscParams: FSAA=0 FSAAHint= colourDepth=32 gamma=false monitorIndex=0 useNVPerfHUD=false vsync=true vsyncInterval=1
18:58:29: D3D9 : Created D3D9 Rendering Window 'Render Window' : 1280x720, 32bpp
18:58:29: D3D9: Vertex texture format supported - PF_L8
18:58:29: D3D9: Vertex texture format supported - PF_L16
18:58:29: D3D9: Vertex texture format supported - PF_A8
18:58:29: D3D9: Vertex texture format supported - PF_A4L4
18:58:29: D3D9: Vertex texture format supported - PF_BYTE_LA
18:58:29: D3D9: Vertex texture format supported - PF_R5G6B5
18:58:29: D3D9: Vertex texture format supported - PF_B5G6R5
18:58:29: D3D9: Vertex texture format supported - PF_A4R4G4B4
18:58:29: D3D9: Vertex texture format supported - PF_A1R5G5B5
18:58:29: D3D9: Vertex texture format supported - PF_A8R8G8B8
18:58:29: D3D9: Vertex texture format supported - PF_B8G8R8A8
18:58:29: D3D9: Vertex texture format supported - PF_A2R10G10B10
18:58:29: D3D9: Vertex texture format supported - PF_A2B10G10R10
18:58:29: D3D9: Vertex texture format supported - PF_DXT1
18:58:29: D3D9: Vertex texture format supported - PF_DXT2
18:58:29: D3D9: Vertex texture format supported - PF_DXT3
18:58:29: D3D9: Vertex texture format supported - PF_DXT4
18:58:29: D3D9: Vertex texture format supported - PF_DXT5
18:58:29: D3D9: Vertex texture format supported - PF_FLOAT16_RGB
18:58:29: D3D9: Vertex texture format supported - PF_FLOAT16_RGBA
18:58:29: D3D9: Vertex texture format supported - PF_FLOAT32_RGB
18:58:29: D3D9: Vertex texture format supported - PF_FLOAT32_RGBA
18:58:29: D3D9: Vertex texture format supported - PF_X8R8G8B8
18:58:29: D3D9: Vertex texture format supported - PF_X8B8G8R8
18:58:29: D3D9: Vertex texture format supported - PF_R8G8B8A8
18:58:29: D3D9: Vertex texture format supported - PF_DEPTH
18:58:29: D3D9: Vertex texture format supported - PF_SHORT_RGBA
18:58:29: D3D9: Vertex texture format supported - PF_FLOAT16_R
18:58:29: D3D9: Vertex texture format supported - PF_FLOAT32_R
18:58:29: D3D9: Vertex texture format supported - PF_SHORT_GR
18:58:29: D3D9: Vertex texture format supported - PF_FLOAT16_GR
18:58:29: D3D9: Vertex texture format supported - PF_FLOAT32_GR
18:58:29: D3D9: Vertex texture format supported - PF_SHORT_RGB
18:58:29: D3D9: Vertex texture format supported - PF_PVRTC_RGB2
18:58:29: D3D9: Vertex texture format supported - PF_PVRTC_RGBA2
18:58:29: D3D9: Vertex texture format supported - PF_PVRTC_RGB4
18:58:29: D3D9: Vertex texture format supported - PF_PVRTC_RGBA4
18:58:29: RenderSystem capabilities
18:58:29: -------------------------
18:58:29: RenderSystem Name: Direct3D9 Rendering Subsystem
18:58:29: GPU Vendor: ati
18:58:29: Device Name: Monitor-1-AMD Radeon HD 6570M/5700 Series
18:58:29: Driver Version: 8.17.10.1107
18:58:29: * Fixed function pipeline: yes
18:58:29: * Hardware generation of mipmaps: yes
18:58:29: * Texture blending: yes
18:58:29: * Anisotropic texture filtering: yes
18:58:29: * Dot product texture operation: yes
18:58:29: * Cube mapping: yes
18:58:29: * Hardware stencil buffer: yes
18:58:29: - Stencil depth: 8
18:58:29: - Two sided stencil support: yes
18:58:29: - Wrap stencil values: yes
18:58:29: * Hardware vertex / index buffers: yes
18:58:29: * Vertex programs: yes
18:58:29: * Number of floating-point constants for vertex programs: 256
18:58:29: * Number of integer constants for vertex programs: 16
18:58:29: * Number of boolean constants for vertex programs: 16
18:58:29: * Fragment programs: yes
18:58:29: * Number of floating-point constants for fragment programs: 224
18:58:30: * Number of integer constants for fragment programs: 16
18:58:30: * Number of boolean constants for fragment programs: 16
18:58:30: * Geometry programs: no
18:58:30: * Number of floating-point constants for geometry programs: 0
18:58:30: * Number of integer constants for geometry programs: 0
18:58:30: * Number of boolean constants for geometry programs: 0
18:58:30: * Supported Shader Profiles: hlsl ps_1_1 ps_1_2 ps_1_3 ps_1_4 ps_2_0 ps_2_a ps_2_b ps_2_x ps_3_0 vs_1_1 vs_2_0 vs_2_a vs_2_x vs_3_0
18:58:30: * Texture Compression: yes
18:58:30: - DXT: yes
18:58:30: - VTC: no
18:58:30: - PVRTC: no
18:58:30: * Scissor Rectangle: yes
18:58:30: * Hardware Occlusion Query: yes
18:58:30: * User clip planes: yes
18:58:30: * VET_UBYTE4 vertex element type: yes
18:58:30: * Infinite far plane projection: yes
18:58:30: * Hardware render-to-texture: yes
18:58:30: * Floating point textures: yes
18:58:30: * Non-power-of-two textures: yes
18:58:30: * Volume textures: yes
18:58:30: * Multiple Render Targets: 4
18:58:30: - With different bit depths: yes
18:58:30: * Point Sprites: yes
18:58:30: * Extended point parameters: yes
18:58:30: * Max Point Size: 10
18:58:30: * Vertex texture fetch: yes
18:58:30: * Number of world matrices: 0
18:58:30: * Number of texture units: 8
18:58:30: * Stencil buffer depth: 8
18:58:30: * Number of vertex blend matrices: 0
18:58:30: - Max vertex textures: 4
18:58:30: - Vertex textures shared: no
18:58:30: * Render to Vertex Buffer : no
18:58:30: * DirectX per stage constants: yes
18:58:30: ***************************************
18:58:30: *** D3D9 : Subsystem Initialised OK ***
18:58:30: ***************************************
18:58:30: DefaultWorkQueue('Root') initialising on thread main.
18:58:30: Particle Renderer Type 'billboard' registered
18:58:30: SceneManagerFactory for type 'OctreeSceneManager' registered.
18:58:30: SceneManagerFactory for type 'TerrainSceneManager' registered.
18:58:30: TerrainSceneManager: Registered a new PageSource for type Heightmap
18:58:30: Creating resource group Bootstrap
18:58:30: Added resource location '../../Media/packs/OgreCore.zip' of type 'Zip' to resource group 'Bootstrap'
18:58:30: Added resource location '../../Media' of type 'FileSystem' to resource group 'General'
18:58:30: Added resource location '../../Media/fonts' of type 'FileSystem' to resource group 'General'
18:58:30: Added resource location '../../Media/materials/programs' of type 'FileSystem' to resource group 'General'
18:58:30: Added resource location '../../Media/materials/scripts' of type 'FileSystem' to resource group 'General'
18:58:30: Added resource location '../../Media/materials/textures' of type 'FileSystem' to resource group 'General'
18:58:30: Added resource location '../../Media/models' of type 'FileSystem' to resource group 'General'
18:58:30: Added resource location '../../Media/packs/cubemap.zip' of type 'Zip' to resource group 'General'
18:58:30: Added resource location '../../Media/packs/skybox.zip' of type 'Zip' to resource group 'General'
18:58:30: Parsing scripts for resource group Autodetect
18:58:30: Finished parsing scripts for resource group Autodetect
18:58:30: Parsing scripts for resource group Bootstrap
18:58:30: Parsing script OgreCore.material
18:58:30: Parsing script OgreProfiler.material
18:58:30: Parsing script Ogre.fontdef
18:58:30: Parsing script OgreDebugPanel.overlay
18:58:30: Texture: New_Ogre_Border_Center.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
18:58:30: Texture: New_Ogre_Border.png: Loading 1 faces(PF_A8R8G8B8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
18:58:30: Texture: New_Ogre_Border_Break.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
18:58:31: Texture: ogretext.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
18:58:31: Parsing script OgreLoadingPanel.overlay
18:58:31: Finished parsing scripts for resource group Bootstrap
18:58:31: Parsing scripts for resource group General
18:58:31: Parsing script Examples.program
18:58:31: Parsing script StdQuad_vp.program
18:58:31: Parsing script bird.material
18:58:31: Parsing script BlackAndWhite.material
18:58:31: Parsing script Bloom.material
18:58:31: Parsing script DepthShadowmap.material
18:58:31: Parsing script DOF.material
18:58:31: Compiler error: object name expected in DOF.material(55)
18:58:31: Parsing script Embossed.material
18:58:31: Parsing script Example-DynTex.material
18:58:31: Parsing script Example-Water.material
18:58:31: Parsing script Example.material
18:58:31: Parsing script Examples-Advanced.material
18:58:31: Parsing script facial.material
18:58:31: Parsing script Glass.material
18:58:31: Parsing script hdr.material
18:58:32: Parsing script HeatVision.material
18:58:32: Parsing script Hurt.material
18:58:32: Parsing script instancing.material
18:58:32: Parsing script Invert.material
18:58:32: Parsing script knot.material
18:58:32: Parsing script knot1.material
18:58:32: Parsing script Laplace.material
18:58:32: Parsing script MotionBlur.material
18:58:32: Parsing script Ocean.material
18:58:32: Parsing script OffsetMapping.material
18:58:32: Parsing script Ogre.material
18:58:32: Parsing script OgreNewt_Example.material
18:58:32: Parsing script OldMovie.material
18:58:32: Parsing script OldTV.material
18:58:32: Parsing script Posterize.material
18:58:32: Parsing script raven_fly.material
18:58:32: Parsing script red.material
18:58:32: Parsing script RZR-002.material
18:58:32: Parsing script SharpenEdges.material
18:58:32: Parsing script smoke.material
18:58:33: Parsing script Tiling.material
18:58:33: Parsing script VarianceShadowmap.material
18:58:33: Parsing script Examples.compositor
18:58:33: Parsing script sample.fontdef
18:58:33: Parsing script lose.overlay
18:58:33: Parsing script madeBy.overlay
18:58:33: Parsing script music.overlay
18:58:33: Parsing script remaining.overlay
18:58:33: Parsing script win.overlay
18:58:33: Finished parsing scripts for resource group General
18:58:33: Parsing scripts for resource group Internal
18:58:33: Finished parsing scripts for resource group Internal
18:58:33: *** Initializing OIS ***
18:58:33: Texture: rockwall.tga: Loading 1 faces(PF_R8G8B8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
18:58:34: Texture: clouds.jpg: Loading 1 faces(PF_R8G8B8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
18:58:34: Texture: spot_shadow_fade.png: Loading 1 faces(PF_R8G8B8,128x128x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,128x128x1.
18:58:34: Texture: testSkin.png: Loading 1 faces(PF_A8R8G8B8,257x227x1) with 5 generated mipmaps from Image. Internal format is PF_A8R8G8B8,257x227x1.
18:58:36: Font BlueHighwayusing texture size 512x512
18:58:36: Info: Freetype returned null for character 127 in font BlueHighway
18:58:36: Info: Freetype returned null for character 128 in font BlueHighway
18:58:36: Info: Freetype returned null for character 129 in font BlueHighway
18:58:36: Info: Freetype returned null for character 130 in font BlueHighway
18:58:36: Info: Freetype returned null for character 131 in font BlueHighway
18:58:36: Info: Freetype returned null for character 132 in font BlueHighway
18:58:36: Info: Freetype returned null for character 133 in font BlueHighway
18:58:36: Info: Freetype returned null for character 134 in font BlueHighway
18:58:36: Info: Freetype returned null for character 135 in font BlueHighway
18:58:36: Info: Freetype returned null for character 136 in font BlueHighway
18:58:36: Info: Freetype returned null for character 137 in font BlueHighway
18:58:36: Info: Freetype returned null for character 138 in font BlueHighway
18:58:36: Info: Freetype returned null for character 139 in font BlueHighway
18:58:36: Info: Freetype returned null for character 140 in font BlueHighway
18:58:36: Info: Freetype returned null for character 141 in font BlueHighway
18:58:36: Info: Freetype returned null for character 142 in font BlueHighway
18:58:36: Info: Freetype returned null for character 143 in font BlueHighway
18:58:36: Info: Freetype returned null for character 144 in font BlueHighway
18:58:36: Info: Freetype returned null for character 145 in font BlueHighway
18:58:36: Info: Freetype returned null for character 146 in font BlueHighway
18:58:36: Info: Freetype returned null for character 147 in font BlueHighway
18:58:36: Info: Freetype returned null for character 148 in font BlueHighway
18:58:36: Info: Freetype returned null for character 149 in font BlueHighway
18:58:36: Info: Freetype returned null for character 150 in font BlueHighway
18:58:36: Info: Freetype returned null for character 151 in font BlueHighway
18:58:36: Info: Freetype returned null for character 152 in font BlueHighway
18:58:36: Info: Freetype returned null for character 153 in font BlueHighway
18:58:36: Info: Freetype returned null for character 154 in font BlueHighway
18:58:36: Info: Freetype returned null for character 155 in font BlueHighway
18:58:36: Info: Freetype returned null for character 156 in font BlueHighway
18:58:36: Info: Freetype returned null for character 157 in font BlueHighway
18:58:36: Info: Freetype returned null for character 158 in font BlueHighway
18:58:36: Info: Freetype returned null for character 159 in font BlueHighway
18:58:37: Info: Freetype returned null for character 160 in font BlueHighway
18:58:37: Texture: BlueHighwayTexture: Loading 1 faces(PF_BYTE_LA,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_BYTE_LA,512x512x1.
18:58:37: DefaultWorkQueue('Root') shutting down on thread main.
18:58:37: *-*-* OGRE Shutdown
18:58:37: Unregistering ResourceManager for type Compositor
18:58:37: Unregistering ResourceManager for type Font
18:58:37: Unregistering ResourceManager for type Skeleton
18:58:37: Unregistering ResourceManager for type Mesh
18:58:37: Unregistering ResourceManager for type HighLevelGpuProgram
18:58:37: Uninstalling plugin: Octree & Terrain Scene Manager
18:58:37: Plugin successfully uninstalled
18:58:37: Unloading library .\Plugin_OctreeSceneManager
18:58:37: Uninstalling plugin: GL RenderSystem
18:58:37: *** Stopping Win32GL Subsystem ***
18:58:37: Plugin successfully uninstalled
18:58:37: Unloading library .\RenderSystem_GL
18:58:37: Uninstalling plugin: D3D9 RenderSystem
18:58:37: D3D9 : Shutting down cleanly.
18:58:37: Unregistering ResourceManager for type Texture
18:58:37: Unregistering ResourceManager for type GpuProgram
18:58:37: D3D9 : Direct3D9 Rendering Subsystem destroyed.
18:58:37: Plugin successfully uninstalled
18:58:37: Unloading library .\RenderSystem_Direct3D9
18:58:37: Unregistering ResourceManager for type Material


But exception is still here (System.AccessViolationException...

se5a

31-12-2012 19:49:36

I get the same problem with VS express 12.

the mogre tutorials work fine with the tutorial framework

Edit: err nevermind. I never saw that there was more than one page to this thread..
trying some more things. (having the dependancys problem)

Edit 2:
tried dependancy walker, found dlls all over the place it was missing, but then dependacy walker said there were problems between CPU types, tried to chase down the right x86 dlls for a bit, then tried copying all the dlls from the tutorial architecture to the miyagui newbie. VS then complained about
" Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.
The program '[7432] Miyagi Newbie.vshost.exe: Managed (v4.0.30319)' has exited with code 0 (0x0)."

Aralox

01-01-2013 02:30:01

Its been a while since Ive dealt with this, but basically its because you're compiling your code in a .NET 4.0 environment when the dlls were compiled in a .NET 2.0 environment. It will probably work if you switch your whole project to a 2.0 environment (in the project properties), but the better way I think is to use an app.config file. I cannot remember how to generate one properly, but some googling will get you an answer.
Good luck :)

se5a

01-01-2013 04:07:21

that makes sense,
tried switching the whole project to .net 2 but it suddenly wouldn't build and couldn't find namespaces and such all over the place.
I'll have a look at the app config file way when I'm in the mood to try again.