Irrlicht Wrapper for FreeBasic

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Frank Dodd
Posts: 208
Joined: Sun Apr 02, 2006 9:20 pm

Post by Frank Dodd »

Cool video Alvaro! It makes a big difference to the interaction with the level obviously, but I think its a bit more than that I still get vertigo when I'm looking over the edge of a virtual cliff :D your project is coming along very nicely.
Frank Dodd
Posts: 208
Joined: Sun Apr 02, 2006 9:20 pm

Post by Frank Dodd »

Please find and updated the Beta Release of the wrapper Please keep in mind that this is still a beta release and has not replaced the last official release yet.

Along with some corrections this version also includes the ability to Create, Lock and Unlock images, a Maya camera courtesy of Alvaro and new commands for the push affector and Spherical Terrain. The documentation has been updated and there are are another six examples.

I hope you enjoy the update.
Last edited by Frank Dodd on Wed Jun 22, 2011 5:41 am, edited 3 times in total.
afecelis
Admin
Posts: 3075
Joined: Sun Feb 22, 2004 10:44 pm
Location: Colombia
Contact:

Post by afecelis »

Fantastic!
Thanks Frank! :D Your wrapper rocks! I can never be tired of saying so.

testing it out now.

regards,
Alvaro
afecelis
Admin
Posts: 3075
Joined: Sun Feb 22, 2004 10:44 pm
Location: Colombia
Contact:

Post by afecelis »

Frank's having some issues with his web account, so while he fixes things up there's a mirror to latest beta here:
http://files.wildspad.com/afecelis/irrl ... v0_6_1.zip

regards,

Alvaro
Image
Frank Dodd
Posts: 208
Joined: Sun Apr 02, 2006 9:20 pm

Post by Frank Dodd »

Hi Guys,

I have just posted a new wrapper this now supports more commands and is essentially just a few tweaks: -
  • Corrections to allow compilation under Linux without modification
  • Captured keyboard commands are now also sent to the active camera.
  • Correction to example 44 to prevent a crash under build for Direct3D
  • Corrections to build for DirectX to support all 236 commands in the library
The ms version of the DLL is now fully up to date and I have managed to compile the wrapper on Linux (Fedora 4). My thanks to everyone with their help on this.

Many thanks for your work on this Alvaro!
Last edited by Frank Dodd on Wed Jun 22, 2011 5:43 am, edited 3 times in total.
afecelis
Admin
Posts: 3075
Joined: Sun Feb 22, 2004 10:44 pm
Location: Colombia
Contact:

Post by afecelis »

this is great news! :) The moment I was waiting for! :D
Thanks a lot TO YOU Frank for your hard work and perseverance. ;)

I want to see it running in Linux! ;)
regards,
Alvaro

PS. Mirrored here:
http://files.wildspad.com/afecelis/irrl ... rapper.zip
http://files.wildspad.com/afecelis/irrl ... rapper.zip
Image
frost_bite
Posts: 28
Joined: Wed Dec 03, 2008 11:42 pm

Post by frost_bite »

I am Looking forward to the next release of IrrlichtWrapper, with Irrlicht 1.5 support.

Any idea when it will work with irrlicht 1.5?
Frank Dodd
Posts: 208
Joined: Sun Apr 02, 2006 9:20 pm

Post by Frank Dodd »

Sorry about the late reply frost_bite, I have no plans to update to 1.5 at the moment as it would require substantial modifications to the custom nodes and my time is being taken up by my work on two complimentary libraries for a form of simple MMO Communications and AI.
tinhtoitrangtay
Posts: 70
Joined: Tue Oct 28, 2008 12:59 pm

Post by tinhtoitrangtay »

It can't work on Irrlicht 1.6
Frank Dodd
Posts: 208
Joined: Sun Apr 02, 2006 9:20 pm

Post by Frank Dodd »

Hi Guys,

I have just released the latest this now exposes 289 commands through a C interface and runs on Irrlicht 1.7.1.

Many thanks to Agamemnus and the_car and of course to all the guys working on Irrlicht.
Last edited by Frank Dodd on Wed Jun 22, 2011 5:57 am, edited 2 times in total.
Innopeor
Posts: 27
Joined: Wed Aug 20, 2008 5:28 pm

Post by Innopeor »

Im interested in some examples contained in this wrapper, still in somewhere those examples written in c++ instead than bas?
Frank Dodd
Posts: 208
Joined: Sun Apr 02, 2006 9:20 pm

Post by Frank Dodd »

Innopeor wrote:Im interested in some examples contained in this wrapper, still in somewhere those examples written in c++ instead than bas?
My apologies for the late reply I am not receiving notifications of new postings at the moment.

None of these examples are written in C++ they only exist in BASIC. Translating them to C++ would not be difficult it would just take some time. It would be a matter of looking up each of the Irr* commands in the source and copying out the code in the function. It certainly would not make for good C++ code but it would make a good example of the sequence of calls and values that were required.
Frank Dodd
Posts: 208
Joined: Sun Apr 02, 2006 9:20 pm

Post by Frank Dodd »

Hello Everone

I have just posted the latest wrapper this now supports 332 commands: -
  • Imported Blindside's XEffects modules
  • Imported Bitplane's Batching Mesh module
  • Better GUI support
  • Added in lots of new examples and lots of new commands
This distribution is now compiled with MS by default and will work with DirectX out of the box. The wrapper is also compiled to Fedora 11 binaries although I recommend Linux users recompile their own library.

My most sincere thanks to everyone that contributed modules, advice and code for this version of the wrapper it is absolutely invaluable.
Last edited by Frank Dodd on Wed Jun 22, 2011 5:58 am, edited 1 time in total.
chung
Posts: 34
Joined: Sun Apr 04, 2010 3:15 pm
Location: France
Contact:

Post by chung »

i have tested the irrstop command with window close , but when i restart irrrunning remain false and it doesnt work.

that's why i suggest you to add to the wrapper a irrclose (closedevice) command to use as follow :

restart=0
debut:
irrstart(...)
while irrrunning
...
wend
irrclose
irrstop
if restart=0 then restart=1:goto debut

don't work

the following works (i have not tested it with the gui)

restart=0
debut:
irrstart(...)
while irrrunning
... irrclose
wend
irrstop
if restart=0 then restart=1:goto debut

other commands i suggest you to add , as i use them in my flight simulator :

irrsetnoderotation123 : an easy way to reach any position with 3 angles , using quaternions (not so easy with irrsetnoderotation )

irrdraw2dline : draw 2d lines

irrdraw2dimagescale : draw 2d images with resize

Code: Select all

extern "C" __declspec(dllexport) void Irrclose(void)
{
	device->closeDevice();
return ;
}


extern "C" __declspec(dllexport) void Irrsetnoderotation123
              (ISceneNode * testNode,f32 const o1,f32 const o2,f32 const o3) 
{ 
   quaternion rot1;
   rot1.fromAngleAxis(o1*DEGTORAD,vector3df(0,1,0));
   quaternion rot2;
   rot2.fromAngleAxis(o2*DEGTORAD,vector3df(0,0,1));
   quaternion rot3;
   rot3.fromAngleAxis(o3*DEGTORAD,vector3df(1,0,0));
   quaternion rot123=rot3*(rot2*rot1);
   
   vector3df eulers; 
   rot123.toEuler(eulers); //... in radians 
   eulers *= RADTODEG;   //... and now in degrees 
   testNode->setRotation(eulers); 
      
return;
} 


extern "C" __declspec(dllexport) void irrdraw2dline(s32 const x0,s32 const y0,s32 const x1,s32 const y1,
                                 u32 const A,u32 const R,u32 const G,u32 const B )
{
       position2d<s32> xy0=position2d<s32>(x0,y0);
       position2d<s32> xy1=position2d<s32>(x1,y1);
       driver->draw2DLine(xy0,xy1,SColor(A,R,G,B) );   
return ;
} 


extern "C" __declspec(dllexport) void  irrdraw2dimagescale(
                                video::ITexture * texture,
                                int TX,int TY,int BX,int BY,
                                int TX2,int TY2,int BX2,int BY2,
                                bool usealpha )
{
    driver->draw2DImage(
            texture,
            rect<s32>(TX2,TY2,BX2,BY2),
            rect<s32>(TX,TY,BX,BY),
            NULL,
            NULL,usealpha);
return ;
}
:roll:
Frank Dodd
Posts: 208
Joined: Sun Apr 02, 2006 9:20 pm

Post by Frank Dodd »

Thanks Chung I will take a look into the items you have highlighted.

There is a pitch, yaw, roll based node control in:
IrrSetNodeRotationPositionChange

There is also a 2D image draw with scaling too in:
IrrDraw2DImageElementStretch
Post Reply