Irrlicht Wrapper for FreeBasic
-
- Posts: 208
- Joined: Sun Apr 02, 2006 9:20 pm
-
- Posts: 208
- Joined: Sun Apr 02, 2006 9:20 pm
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.
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.
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
http://files.wildspad.com/afecelis/irrl ... v0_6_1.zip
regards,
Alvaro
-
- Posts: 208
- Joined: Sun Apr 02, 2006 9:20 pm
Hi Guys,
I have just posted a new wrapper this now supports more commands and is essentially just a few tweaks: -
Many thanks for your work on this Alvaro!
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
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.
this is great news! The moment I was waiting for!
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
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
-
- Posts: 28
- Joined: Wed Dec 03, 2008 11:42 pm
-
- Posts: 208
- Joined: Sun Apr 02, 2006 9:20 pm
-
- Posts: 208
- Joined: Sun Apr 02, 2006 9:20 pm
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.
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.
-
- Posts: 208
- Joined: Sun Apr 02, 2006 9:20 pm
My apologies for the late reply I am not receiving notifications of new postings at the moment.Innopeor wrote:Im interested in some examples contained in this wrapper, still in somewhere those examples written in c++ instead than bas?
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.
-
- Posts: 208
- Joined: Sun Apr 02, 2006 9:20 pm
Hello Everone
I have just posted the latest wrapper this now supports 332 commands: -
My most sincere thanks to everyone that contributed modules, advice and code for this version of the wrapper it is absolutely invaluable.
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
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.
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
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 ;
}
-
- Posts: 208
- Joined: Sun Apr 02, 2006 9:20 pm