Current .NET compatibility

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Walter

Current .NET compatibility

Post by Walter »

I've been involved in developing with Irrlicht since early last year and our developing team is completly focused on the future of developing. This means we already use .NET Developing for several months and we just cant wait for Irrlicht to have full compatibility with the future of programming: the framework.

Now what is the current compatibility with .NET (VB)?
There was a time that it was described at the development-page but since a while it seems that the current update's are to the basics of the engine and ofcourse thats good but when is the strugle for .NET compatibility coming back?
niko
Site Admin
Posts: 1759
Joined: Fri Aug 22, 2003 4:44 am
Location: Vienna, Austria
Contact:

Post by niko »

Yes, sorry, I should write that down. For the next release, I want to make available at least animators. So that .NET users have collision detection stuff etc. I should have written down this on the development page.
However, I am currently a little bit confused if I should rewrite the .NET wrapper completely, because those §$% at microsoft seem to drop support for managed C++ and favor C++/CLI slowly: For example the .xml output only works with C++/CLI in the VS Beta. Maybe this wouldn't be a lot of work, just changing some identifiers etc. But if it is, I think I would ignore C++/CLI and keep on pushing Irrlicht.NET forward so it has more features.
Sorry for this confusing text, just thinking loud. :)
CrimsonShadow

Question regarding .NET Compatibility

Post by CrimsonShadow »

Just a quick question about the .NET API...

Does it support the 2D interface objects? (ie. Can I make the equivalent of a IGUIStaticText object with the .NET API?)

Thanks,
-CrimsonShadow
niko
Site Admin
Posts: 1759
Joined: Fri Aug 22, 2003 4:44 am
Location: Vienna, Austria
Contact:

Re: Question regarding .NET Compatibility

Post by niko »

CrimsonShadow wrote:Does it support the 2D interface objects? (ie. Can I make the equivalent of a IGUIStaticText object with the .NET API?)
Currently no GUI elements are supported, sorry. But I just released version 0.10.0 of Irrlicht, and the new Irrlicht.NET can at least now draw fonts and 2D stuff. Maybe that helps a bit.
AlexL
Posts: 184
Joined: Tue Mar 02, 2004 6:06 pm
Location: Washington State

Post by AlexL »

Niko, I haven't played around with the .NET side of Irrlicht much at this time. But I was pondering if the same idea as the Win32 example could be implamented into the .NET version; in the aspect of using forms and having a rendering device placed in one. This is just something that I believe would help with Irrlicht Applications for level design or the such, and if this is already implamented I must appologize for my ignorance in reading through the .NET docs fully.
Duncan Mac Leod
Posts: 64
Joined: Sun May 22, 2005 3:06 pm
Location: Germany
Contact:

Post by Duncan Mac Leod »

Hi all!

I have been trying to implement the call to createDeviceEx into the Irrlicht.NET.dll to be able to host the Engine in existing Controls on my Form...

...but the Engine always show up with a Caption :( inside the Control!

Any suggestions on how to implement this?

thx in advance,
Duncan
niko
Site Admin
Posts: 1759
Joined: Fri Aug 22, 2003 4:44 am
Location: Vienna, Austria
Contact:

Post by niko »

Duncan Mac Leod wrote:I have been trying to implement the call to createDeviceEx into the Irrlicht.NET.dll
Hm, I don't know what your are doing, but createDeviceEx is not available in the .NET version currently.
Duncan Mac Leod
Posts: 64
Joined: Sun May 22, 2005 3:06 pm
Location: Germany
Contact:

Post by Duncan Mac Leod »

niko wrote:
Duncan Mac Leod wrote:I have been trying to implement the call to createDeviceEx into the Irrlicht.NET.dll
Hm, I don't know what your are doing, but createDeviceEx is not available in the .NET version currently.
That's right!

Code: Select all

IrrlichtDevice::IrrlichtDevice(Video::DriverType driverType, int hWnd)
: Device(0), ManagedVideoDriver(0), ManagedSceneManager(0), ManagedCursorControl(0),
 ManagedEventReceiver(0)
{
	irr::SIrrlichtCreationParameters param;
	param.WindowId = hWnd;
	param.DriverType = (irr::video::E_DRIVER_TYPE)driverType;
	Device = irr::createDeviceEx(param);
    
	if (!Device)
		throw new System::Exception(new System::String("Specified device could not be created."));

	ManagedVideoDriver = new Video::IVideoDriver(Device->getVideoDriver());
	ManagedSceneManager = new Scene::ISceneManager(Device->getSceneManager());
	ManagedCursorControl = new GUI::ICursorControl(Device->getCursorControl());
	ManagedFileSystem = new IO::IFileSystem(Device->getFileSystem());
	ManagedGUIEnvironment = new GUI::IGUIEnvironment(Device->getGUIEnvironment());
}
...so Ihave have added another (overloaded) Method to your Irrlicht.NET.dll featuring a Window-Handle - this works, but the Engine make some trouble :roll: ...
Duncan Mac Leod
Posts: 64
Joined: Sun May 22, 2005 3:06 pm
Location: Germany
Contact:

Post by Duncan Mac Leod »

Okay, Niko!

It works now 8) !

http://www.excelsior-online.org/images/ ... tainer.jpg

...but I had to dig deeper into your source-code as I actually wanted...

I did some modifications on your Engine Code and some on your .NET Wrapper 'Irrlicht.NET' Code and had to rebuild both (Engine and Wrapper) from Source...

Now we are able to host the engine in a container widget for our .NET-Applications...

Sorry for bothering you :roll: ... - keep up your excellent work and especially the .NET Support :D ...

bye,
Duncan
--
Tucan Entertainment

P.S.: maybe, you are remembering me from your eMail Box - I was the guy who was asking for a .NET Wrapper for Mono. - I am glad to tell you, that our Dev.-Team has decided to implement your Engine into our Project - ...and we will make a .NET Wrapper when our Project is released for Win32 :roll: - maybe, someone else will finish a wrapper for Mono first, so we won't have to do such a wrapper on our own 8) ...
AlexL
Posts: 184
Joined: Tue Mar 02, 2004 6:06 pm
Location: Washington State

Post by AlexL »

Duncan Mac Leod, do you think it possible to get the two newly compiled *.dll files and an example of how to implament it from you. This would really help out the development of our world editor application, thanks in advance :)
Duncan Mac Leod
Posts: 64
Joined: Sun May 22, 2005 3:06 pm
Location: Germany
Contact:

Post by Duncan Mac Leod »

AlexL wrote:Duncan Mac Leod, do you think it possible to get the two newly compiled *.dll files and an example of how to implament it from you. This would really help out the development of our world editor application, thanks in advance :)
Okay 8) - we are coding a Toolset on Irrlicht for our upcoming RPG, too...

http://www.excelsior-online.org/downloa ... ne_builds/

or use our Mirror-Server:

http://secondary-download.excelsior-onl ... ne_builds/

Our additions to IrrlichtDevice are:

IrrlichtDevice - Overloaded. Initializes a new instance of the IrrlichtDevice class.

public IrrlichtDevice(DriverType); // exists in irrlicht-0.10.0 .NET

public IrrlichtDevice(DriverType,int); // NEW in our Custom Build

public IrrlichtDevice(DriverType,Dimension2D,int,bool,bool,bool); // exists in irrlicht-0.10.0 .NET

...therefore you can call in C#:

//create a winform
//create a panel on the Form

IrrlichtDevice device = new IrrlichtDevice(DriverType.OPENGL, (int)this.panel1.Handle);
device.ResizeAble = true;

...we have only tested the Custom Build with one small sample app., yet! ...and only on OpenGL - USE AT YOUR OWN RISK!
...IMPORTANT: we have removed ALL Window-Captions/Borders/etc. on any Window created by the Engine, so you also won't have Borders/etc. if you are not calling our new overloaded Method using the original ones - THIS IS WANTED BY DESIGN and not a bug!

Have Fun,
Duncan
--
Tucan Entertainment

WARNING: this Custom Build of Irrlicht is NOT supported! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED... :wink:
MeMyselfAndI

Post by MeMyselfAndI »

I know .NET is important but can someone tell me, a good reason for leaving the old api's behind and using .NET at this stage (Besides that .NET offers acces to OS components and COM objects faster and more reliable).
Duncan Mac Leod
Posts: 64
Joined: Sun May 22, 2005 3:06 pm
Location: Germany
Contact:

Post by Duncan Mac Leod »

MeMyselfAndI wrote:I know .NET is important but can someone tell me, a good reason for leaving the old api's behind and using .NET at this stage (Besides that .NET offers acces to OS components and COM objects faster and more reliable).
First of all, we are able to advance our Project much quicker using C# - it's more productive. Second, we want to run our Game on Linux without the need of porting it. Of course, we need an API-Wrapper on Mono, but we will write one when our Game is done...

...and keep in mind, that everyone should use his Language of choice - there is no need to discuss, which Language is better!

just my 2 cents,
Duncan
--
Tucan Entertainment

P.S.: cause we are developing a tile-based game like NWN, we will have to alter much more things from time to time in Niko's excellent code than adding some .NET specific things only 8)...
enni
Posts: 2
Joined: Thu May 26, 2005 7:42 pm

Post by enni »

Duncan Mac Leod wrote:there is no need to discuss, which Language is better!
Yeah! Of course.
It's C (K&R C - the only lang for real Men)

(For everyone who didn't get the joke - calm down, it IS one :-D )
So fight high level languages, they make ours children forget the wisdom of the ancient gods
[G.o.D - Heise-Forum]
CrimsonShadow
Posts: 2
Joined: Thu May 26, 2005 10:03 pm

Re: Question regarding .NET Compatibility

Post by CrimsonShadow »

niko wrote:
CrimsonShadow wrote:Does it support the 2D interface objects? (ie. Can I make the equivalent of a IGUIStaticText object with the .NET API?)
Currently no GUI elements are supported, sorry. But I just released version 0.10.0 of Irrlicht, and the new Irrlicht.NET can at least now draw fonts and 2D stuff. Maybe that helps a bit.
Cool. I just noticed the 0.10.0 release today. The 2D drawing stuff is much appreciated.

Thanks,
-CrimsonShadow
Post Reply