Irr4Delphi (update - 18/12/08) irrlicht 1.5

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
djoker
Posts: 39
Joined: Thu Dec 22, 2005 10:25 pm
Location: Portugal

Irr4Delphi (update - 18/12/08) irrlicht 1.5

Post by djoker »

Irrlicht wrapper with IrrLicht 1.5 ...

SDK:
SDK Download


new features

Node with coldet colission .

Code: Select all

function Coldet_Create(Static:boolean):IColdet;cdecl ;external IRR_DLL;
procedure Coldet_Free(model:IColdet);cdecl ;external IRR_DLL;

function  Coldet_ColideWithModel(A,B:IColdet):boolean;cdecl ;external IRR_DLL;
function  Coldet_RayHit(A:IColdet; origin,direction:ivec3):boolean;cdecl ;external IRR_DLL;
function  Coldet_CameraRayHit(A:IColdet;CameraNode:ISceneNode;dist:integer=1000):boolean;cdecl ;external IRR_DLL;
function  Coldet_SphereHit(A:IColdet; origin:Ivec3; radius:single):boolean;cdecl ;external IRR_DLL;
procedure  Coldet_SetTrasformByNode(A:IColdet;Node:ISceneNode);cdecl ;external IRR_DLL;
procedure  Coldet_SetTrasformByMatrix(A:IColdet;matrix:pointer);cdecl ;external IRR_DLL;
procedure  Coldet_AddTriangle(a:IColdet;t1,t2,t3:ivec3);cdecl ;external IRR_DLL;
procedure  Coldet_AddTrianglesFromNode(a:IColdet;Node:ISceneNode);cdecl ;external IRR_DLL;
procedure  Coldet_AddTrianglesFromMesh(A:IColdet;meshA:IMesh);cdecl ;external IRR_DLL;
procedure  Coldet_Rebuild(A:IColdet);cdecl ;external IRR_DLL;
procedure Coldet_CollisionNormal(A:IColdet;var normal:ivec3);cdecl ;external IRR_DLL;
procedure Coldet_CollisionPoint(A:IColdet;var point:ivec3;global:boolean=false);cdecl ;external IRR_DLL;
procedure Coldet_CollisionTri(A:IColdet;var triangle:ITriangle;ModelSpace:boolean=false);cdecl ;external IRR_DLL;
procedure Coldet_CollisionTris(A:IColdet;var t1,t2:ITriangle;ModelSpace:boolean=false);cdecl ;external IRR_DLL;
procedure Coldet_CollisionTrisIndex(A:IColdet;var t1,t2:integer);cdecl ;external IRR_DLL;

direct render mode (OpenGL Style)

Code: Select all

function  IRRBegin(primitiveType:E_PRIMITIVE_TYPE ):boolean;cdecl ;external IRR_DLL;
procedure IRRVertex3f(x,y,z:single);cdecl ;external IRR_DLL;
procedure IRRNormal3f(x,y,z:single);cdecl ;external IRR_DLL;
procedure  IRRTexCoord2f(tu,tv:single);cdecl ;external IRR_DLL;
procedure  IRRColor3f(r,g,b:single);cdecl ;external IRR_DLL;
procedure  IRRColor4f(a,r,g,b:single);cdecl ;external IRR_DLL;
procedure  IRRColor4i(a,r,g,b:integer);cdecl ;external IRR_DLL;
procedure  IRRColor3i(r,g,b:integer);cdecl ;external IRR_DLL;
function  IRREnd():boolean;cdecl ;external IRR_DLL;
Matrix

Code: Select all


procedure  IRRApplyMatrix;cdecl ;external IRR_DLL;
procedure  IRRLoadIdentity;cdecl ;external IRR_DLL;
procedure  IRRTranslatef(x,y,z:single);cdecl ;external IRR_DLL;
procedure  IRRRotatef(a,x,y,z:single);cdecl ;external IRR_DLL;
procedure  IRRScalef(x,y,z:single);cdecl ;external IRR_DLL;
function   IRRPushMatrix:boolean;cdecl ;external IRR_DLL;
function   IRRPopMatrix:boolean;cdecl ;external IRR_DLL;

Node with simples physics,collide and response
(i'm working on this)

Code: Select all

function Body_Create:IBody;cdecl ;external IRR_Dll;
procedure Body_Free(body:IBody);cdecl ;external IRR_Dll;
procedure Body_Update(body:IBody ;time:single);cdecl ;external IRR_Dll;

procedure Body_SetCanSleep(body:IBody ;value:boolean);cdecl ;external IRR_Dll;
procedure Body_SetAwake(body:IBody );cdecl ;external IRR_Dll;

procedure Body_GetTransform(body:IBody;matrix:PCmatrix4);cdecl ;external IRR_Dll;
procedure Body_GetTransformArray(body:IBody;matrix:PCmatrix4);cdecl ;external IRR_Dll;


procedure Body_ClearAccumulators(body:IBody );cdecl ;external IRR_Dll;
procedure Body_CalculateDerivedData(body:IBody );cdecl ;external IRR_Dll;

procedure Body_SetBlockInertiaTensor(body:IBody;halfSizes:ivec3;mass:single);cdecl ;external IRR_Dll;
procedure Body_SetInertiaTensorCoeffs(body:IBody;halfSizes:ivec3);cdecl ;external IRR_Dll;

function Body_GetRealVelocity(body:IBody):single;cdecl ;external IRR_Dll;
procedure Body_SetOrientation(body:IBody;r,i,j,k:single);cdecl ;external IRR_Dll;
procedure Body_AddForceAtBodyPoint(body:IBody; force,point:ivec3);cdecl ;external IRR_Dll;
procedure Body_AddForceAtPoint(body:IBody;force,point:ivec3);cdecl ;external IRR_Dll;
function Body_GetTransformDirection(body:IBody;x,y,z:single):ivec3;cdecl ;external IRR_Dll;
function Body_GetDirectionInWorldSpace(body:IBody;x,y,z:single):ivec3;cdecl ;external IRR_Dll;
function Body_GetDirectionInLocalSpace(body:IBody;x,y,z:single):ivec3;cdecl ;external IRR_Dll;
function Body_GetPointInWorldSpace(body:IBody;x,y,z:single):ivec3;cdecl ;external IRR_Dll;
function Body_GetPointInLoaclSpace(body:IBody;x,y,z:single):ivec3;cdecl ;external IRR_Dll;
procedure Body_SetAngularDamping(body:IBody ;value:single);cdecl ;external IRR_Dll;
procedure Body_SetDamping(body:IBody;linearDamping,angularDamping:single);cdecl ;external IRR_Dll;

procedure Body_AddTorque(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_SetLinearDamping(body:IBody;value:single);cdecl ;external IRR_Dll;
procedure Body_SetVelocity(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_SetAcceleration(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_SetPosition(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_AddForce(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_SetMass(body:IBody;mass:single);cdecl ;external IRR_Dll;
procedure Body_AddRotation(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_SetRotation(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_AddVelocity(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
function Body_GetRotation(body:IBody ):ivec3;cdecl ;external IRR_Dll;
function Body_GetRealRotation(body:IBody ):ivec3;cdecl ;external IRR_Dll;
function Body_GetPosition(body:IBody ):ivec3;cdecl ;external IRR_Dll;
function Body_GetPositionX(body:IBody ):single;cdecl ;external IRR_Dll;
function Body_GetPositionY(body:IBody ):single;cdecl ;external IRR_Dll;
function Body_GetPositionZ(body:IBody ):single;cdecl ;external IRR_Dll;
function Body_GetVelocity(body:IBody ):ivec3;cdecl ;external IRR_Dll;
function Body_GetAcceleration(body:IBody ):ivec3;cdecl ;external IRR_Dll;

///colider
procedure Geom_Calculate(Geom:IGeom);cdecl ;external IRR_Dll;
procedure Geom_Free(Sphere:IGeom);cdecl ;external IRR_Dll;
function Geom_CreateSphere(radius:single):IGeom;cdecl ;external IRR_Dll;
function Geom_CreatePlane(NormalX,NormalY,NoarmalZ, distance:single):IGeom;cdecl ;external IRR_Dll;
function Geom_CreateBox( SizeX, SizeY, SizeZ:single):IGeom;cdecl ;external IRR_Dll;
procedure Geom_SetBody(Geom:IGeom;Body:IBody);cdecl ;external IRR_Dll;

function  Geom_BoxHitPlane(Box,Plane:IGeom):boolean;cdecl ;external IRR_Dll;
function  Geom_BoxHitBox(One,Two:IGeom):boolean;cdecl ;external IRR_Dll;
function  Geom_BoxHitSphere(One,Sphere:IGeom):boolean;cdecl ;external IRR_Dll;
function  Geom_SphereHitPlane(Sphere,Plane:IGeom):boolean;cdecl ;external IRR_Dll;
function  Geom_SphereHitSpher(Sphere,Two:IGeom):boolean;cdecl ;external IRR_Dll;
function  Geom_SphereHitTruePlane(Sphere,Plane:IGeom):boolean;cdecl ;external IRR_Dll;

function Geom_SphereHitFloor(Sphere:IGeom;y:single=0):boolean;cdecl ;external IRR_Dll;
function Geom_BoxHitFloor(Box:IGeom;y:single=0):boolean;cdecl ;external IRR_Dll;


Particles with simples physics,collide and response

Code: Select all

//particles 
function  Atom_Create():IAtom;cdecl ;external IRR_Dll;
procedure Atom_Free(Particle:IAtom);cdecl ;external IRR_Dll;
procedure Atom_SetVelocity(Particle:IAtom;x,y,z:single);cdecl ;external IRR_Dll;
procedure Atom_SetAcceleration(Particle:IAtom;x,y,z:single);cdecl ;external IRR_Dll;
procedure Atom_SetPosition(Particle:IAtom;x,y,z:single);cdecl ;external IRR_Dll;
procedure Atom_AddForce(Particle:IAtom;x,y,z:single);cdecl ;external IRR_Dll;
procedure Atom_SetMass(Particle:IAtom;mass:single);cdecl ;external IRR_Dll;
procedure Atom_SetDamping(Particle:IAtom;damping:single);cdecl ;external IRR_Dll;
procedure Atom_ClearAccumulator(Particle:IAtom);cdecl ;external IRR_Dll;
procedure Atom_Update(Particle:IAtom;time:single);cdecl ;external IRR_Dll;
function  Atom_GetPosition(Particle:IAtom):ivec3;cdecl ;external IRR_Dll;
function  Atom_GetVelocity(Particle:IAtom):ivec3;cdecl ;external IRR_Dll;
function  Atom_GetAcceleration(Particle:IAtom):ivec3;cdecl ;external IRR_Dll;
function Atom_GetPositionX(Particle:IAtom):single;cdecl ;external IRR_Dll;
function Atom_GetPositionY(Particle:IAtom):single;cdecl ;external IRR_Dll;
function Atom_GetPositionZ(Particle:IAtom):single;cdecl ;external IRR_Dll;




Image
Image
Image
Image
Image
Image
Image
Image
Image





Image
Image
Image

Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image

ps: terrain on irrlicht 1.5 have same problems and vbo's :cry:
Last edited by djoker on Fri Dec 19, 2008 5:44 pm, edited 17 times in total.
Never underestimate the power of Delphi....Ignorance is bliss, but knowledge is power...
detvog
Posts: 19
Joined: Sun Mar 02, 2008 8:49 am

Great

Post by detvog »

I am searching a long time for a delphi-wrapper.

where i can found the dll's?

give you the dll's for download ?








sorry for my bad english
djoker
Posts: 39
Joined: Thu Dec 22, 2005 10:25 pm
Location: Portugal

Re: Great

Post by djoker »

detvog wrote:I am searching a long time for a delphi-wrapper.

where i can found the dll's?

give you the dll's for download ?








sorry for my bad english
yes dude ;) and demos


ps:my english is bad 2 :roll:
Never underestimate the power of Delphi....Ignorance is bliss, but knowledge is power...
detvog
Posts: 19
Joined: Sun Mar 02, 2008 8:49 am

Thanks for this.

Post by detvog »

Yeah....thanks for this. :lol:
djoker
Posts: 39
Joined: Thu Dec 22, 2005 10:25 pm
Location: Portugal

Post by djoker »

new demo

shadows,reflection,particles,mesh,water and light

Image
Image

Code: Select all


program SkyBoxeAndMeshFxS;


uses
  SysUtils, IRRLICHT in 'IRRLICHT.pas';



var

font:IFont;
texture:ITexture;
ps,model,bill,Light,water,room,camera:ISceneNode;
meshhil,mesh,meshmodel:IAnimatedMesh;
anim:IAnimator;


finished:boolean=false;
EEvents:TEngineEvents;


Save8087CW: Word;



begin

Save8087CW := Get8087CW;
Set8087CW($133F);

Device_Init(EDT_DIRECT3D9,800,600,16,false,true,true);
Render_SetResizeAble(true);
Device_SetWindowCaption('IRRLICHT 4 Delphi');
Render_SetDebug(true,true);
Device_SetCursorVisible(true);



font:=Font_Load('../../media/fonthaettenschweiler.bmp');

texture:=Texture_Load('../../media/irrlichtlogo.BMP');




camera:=Scene_AddFPSCamera;
Node_SetPosition(camera,80,80,-600);
Scene_AddSkyBox(
'../../media/irrlicht2_up.jpg',
'../../media/irrlicht2_dn.jpg',
'../../media/irrlicht2_lf.jpg',
'../../media/irrlicht2_rt.jpg',
'../../media/irrlicht2_ft.jpg',
'../../media/irrlicht2_bk.jpg');


mesh:=Scene_AddMesh('../../media/room.3ds');
Mesh_MakePlanarTextureMapping(mesh,0.008);
room:=Scene_AddOctTreeSceneNode(mesh);
Node_SetMaterialTexture(room,0,'../../media/wall.jpg');
Node_SetSpecularColor(room,Color(0,0,0,0),0);





meshhil:=Scene_AddHillPlaneMesh( 'myHill',20,20,40,40,0,4,4,10,10);
water:=Scene_AddWaterSurface(meshhil,vect(0,7,0),ZEROVECT,ADDVECT,3.0,300.0,30.0);
Node_SetMaterialTexture(water,0,'../../media/stones.jpg');
Node_SetMaterialTexture(water,1,'../../media/water.jpg');
Node_SetMaterialType(water,EMT_REFLECTION_2_LAYER);


Light:=Scene_AddLight(1200.0,ZEROVECT,color(256,256,200,255));
anim:=Scene_CreateFlyCircleAnimator(vect(0,150,0),vect(0,1,0),250,0.001);
Node_AddAnimator(light,anim);

bill:=Scene_AddBillboard(50,50,ZEROVECT,CWHITE,light);
Node_SetMaterialTexture(bill,0,'../../media/particlewhite.bmp');
Node_SetMaterialFlag(bill,EMF_LIGHTING,false);
Node_SetMaterialType(bill,EMT_TRANSPARENT_ADD_COLOR);


meshmodel:=Scene_AddMesh('../../media/dwarf.x');
model:=Scene_AddNodFromMesh(meshmodel,vect(-120,-10,-140),ZEROVECT,vect(2,2,2));
Anim_SetAnimationSpeed(model,150);
Node_SetMaterialFlag(model,EMF_NORMALIZE_NORMALS,true);
Node_AddShadowVolume(model);
Scene_SetShadowColor(color(150,0,0,0));
Node_AddShadowVolume(model);




ps:=Scene_AddParticleSystem(vect(-70,60,40),ZEROVECT,vect(2,2,2),false);

Par_SetParticleSize(ps,20,20);

Par_AddBoxEmitter(ps,-7,0,-7,7,1,7,vect(0,0.06,0),

color(0,255,255,255),

color(0,255,255,255),80,100,800,2000);


Par_AddFadeOutParticleAffector(ps);


Node_SetMaterialTexture(ps,0,'../../media/fire.bmp');

Node_SetMaterialFlag(ps,EMF_LIGHTING,false);
Node_SetMaterialFlag(ps,EMF_ZWRITE_ENABLE,false);
Node_SetMaterialType(ps,EMT_TRANSPARENT_VERTEX_ALPHA);





while (Device_Run) and (not finished) do
begin
Device_GetEvents(EEvents);


Render_BeginScene(true,true,0,0,0);
Scene_DrawAll;
Texture_DrawD2ImageColor(texture,800-89,600-32,0,0,88,31,color(255,255,255,255),false);
Render_EndScene;

if EEvents.loopKeyInput.Key=27 then finished:=true;
end;

Device_Stop;
Set8087CW(Save8087CW);

end.
Never underestimate the power of Delphi....Ignorance is bliss, but knowledge is power...
detvog
Posts: 19
Joined: Sun Mar 02, 2008 8:49 am

it works

Post by detvog »

it works great. thanks
djoker
Posts: 39
Joined: Thu Dec 22, 2005 10:25 pm
Location: Portugal

Re: it works

Post by djoker »

detvog wrote:it works great. thanks
no prob but is not finished
Never underestimate the power of Delphi....Ignorance is bliss, but knowledge is power...
detvog
Posts: 19
Joined: Sun Mar 02, 2008 8:49 am

Post by detvog »

i have work with any delphi engines and import the newton physik in it.
at time i will prob to play with newton and your irrlicht wrapper.
i hope you give your updates to download.
i am do not like c.
my world is delphi.








sorry for my bad english.
my old website:
http://detvog.gmxhome.de/
djoker
Posts: 39
Joined: Thu Dec 22, 2005 10:25 pm
Location: Portugal

Post by djoker »

detvog wrote:i have work with any delphi engines and import the newton physik in it.
at time i will prob to play with newton and your irrlicht wrapper.
i hope you give your updates to download.
i am do not like c.
my world is delphi.








sorry for my bad english.
my old website:
http://detvog.gmxhome.de/

yes dude ;)
Never underestimate the power of Delphi....Ignorance is bliss, but knowledge is power...
detvog
Posts: 19
Joined: Sun Mar 02, 2008 8:49 am

Hi..

Post by detvog »

this:
Par_SetParticleSize
Par_AddBoxEmitter

is not in the current version ?








Sorry....english
djoker
Posts: 39
Joined: Thu Dec 22, 2005 10:25 pm
Location: Portugal

Re: Hi..

Post by djoker »

detvog wrote:this:
Par_SetParticleSize
Par_AddBoxEmitter

is not in the current version ?








Sorry....english
new download

yes dude i have 1 demo


Image

ps:=Scene_AddParticleSystem(vect(-70,60,40),ZEROVECT,vect(2,2,2),false,model);

Par_SetParticleSize(ps,20,20);

Par_AddBoxEmitter(ps,-7,0,-7,7,1,7,vect(0,0.06,0),color(0,255,255,255),color(0,255,255,255),80,100,800,2000);

Code: Select all

program particles;


uses
  SysUtils, IRRLICHT in 'IRRLICHT.pas';



var

font:IFont;
texture:ITexture;
ps,model,bill,Light,water,room,camera:ISceneNode;
meshhil,mesh,meshmodel:IAnimatedMesh;
anim:IAnimator;


finished:boolean=false;
EEvents:TEngineEvents;


Save8087CW: Word;



begin

Save8087CW := Get8087CW;
Set8087CW($133F);

Device_Init(EDT_DIRECT3D9,800,600,16,false,true,true);
Render_SetResizeAble(true);
Device_SetWindowCaption('IRRLICHT 4 Delphi');
Render_SetDebug(true,true);
Device_SetCursorVisible(true);



font:=Font_Load('../../media/fonthaettenschweiler.bmp');

texture:=Texture_Load('../../media/irrlichtlogo.BMP');




camera:=Scene_AddFPSCamera;
Node_SetPosition(camera,80,80,-600);
Scene_AddSkyBox(
'../../media/irrlicht2_up.jpg',
'../../media/irrlicht2_dn.jpg',
'../../media/irrlicht2_lf.jpg',
'../../media/irrlicht2_rt.jpg',
'../../media/irrlicht2_ft.jpg',
'../../media/irrlicht2_bk.jpg');


mesh:=Scene_AddMesh('../../media/room.3ds');
Mesh_MakePlanarTextureMapping(mesh,0.008);
room:=Scene_AddOctTreeSceneNode(mesh);
Node_SetMaterialTexture(room,0,'../../media/wall.jpg');
Node_SetSpecularColor(room,Color(0,0,0,0),0);





meshhil:=Scene_AddHillPlaneMesh( 'myHill',20,20,40,40,0,4,4,10,10);
water:=Scene_AddWaterSurface(meshhil,vect(0,7,0),ZEROVECT,ADDVECT,3.0,300.0,30.0);
Node_SetMaterialTexture(water,0,'../../media/stones.jpg');
Node_SetMaterialTexture(water,1,'../../media/water.jpg');
Node_SetMaterialType(water,EMT_REFLECTION_2_LAYER);


Light:=Scene_AddLight(1200.0,ZEROVECT,color(256,256,200,255));
anim:=Scene_CreateFlyCircleAnimator(vect(0,150,0),vect(0,1,0),250,0.001);
Node_AddAnimator(light,anim);

bill:=Scene_AddBillboard(50,50,ZEROVECT,CWHITE,light);
Node_SetMaterialTexture(bill,0,'../../media/particlewhite.bmp');
Node_SetMaterialFlag(bill,EMF_LIGHTING,false);
Node_SetMaterialType(bill,EMT_TRANSPARENT_ADD_COLOR);


meshmodel:=Scene_AddMesh('../../media/dwarf.x');
model:=Scene_AddNodFromMesh(meshmodel,vect(-120,-10,-140),ZEROVECT,vect(2,2,2));
Anim_SetAnimationSpeed(model,150);
Node_SetMaterialFlag(model,EMF_NORMALIZE_NORMALS,true);
Node_AddShadowVolume(model);
Scene_SetShadowColor(color(150,0,0,0));
Node_AddShadowVolume(model);




//ps:=Scene_AddParticleSystem(vect(-70,60,40),ZEROVECT,vect(2,2,2),false,model);

ps:=Scene_AddParticleSystem(vect(0,0,0),ZEROVECT,vect(1,1,1),false,model);

Par_SetParticleSize(ps,20,20);

{Par_AddBoxEmitter(ps,-7,0,-7,7,1,7,vect(0,0.06,0),

color(0,255,255,255),

color(0,255,255,255),80,100,800,2000);



}

Par_AddAnimatedMeshEmitter(ps,model,ZEROVECT,color(0,255,255,255),color(0,255,255,255));

//Par_AddCylinderEmitter(ps,ZEROVECT,20,vect(0,0,0),2,vect(0,0.03,0),color(0,255,255,255),color(0,255,255,255));

//Par_AddPointEmitter(ps,vect(0,0.03,0),color(0,255,255,255),color(0,255,255,255));

//Par_AddRingEmitter(ps,vect(0,0,0),2,2,vect(0,0.03,0),color(0,255,255,255),color(0,255,255,255));

//Par_AddSphereEmitter(ps,vect(0,0,0),6,vect(0,0.03,0),color(0,255,255,255),color(0,255,255,255));


//Par_AddFadeOutParticleAffector(ps);

//Par_AddAttractionParticleAffector(ps,vect(100,10,0),100,true,false,true,false);

//Par_AddGravityAffector(ps,vect(0,0.03,0));

Par_AddRotationAffector(ps,vect(5.0,5.0,5.0),vect(0,0,0));


Node_SetMaterialTexture(ps,0,'../../media/fire.bmp');

Node_SetMaterialFlag(ps,EMF_LIGHTING,false);
Node_SetMaterialFlag(ps,EMF_ZWRITE_ENABLE,false);
Node_SetMaterialType(ps,EMT_TRANSPARENT_VERTEX_ALPHA);


Scene_AddRealisticWater('../../media/waterbump.dds',




while (Device_Run) and (not finished) do
begin
Device_GetEvents(EEvents);


Render_BeginScene(true,true,0,0,0);
Scene_DrawAll;
Texture_DrawD2ImageColor(texture,800-89,600-32,0,0,88,31,color(255,255,255,255),false);
Render_EndScene;

if EEvents.loopKeyInput.Key=27 then finished:=true;
end;

Device_Stop;
Set8087CW(Save8087CW);

end.
:oops:
Never underestimate the power of Delphi....Ignorance is bliss, but knowledge is power...
djoker
Posts: 39
Joined: Thu Dec 22, 2005 10:25 pm
Location: Portugal

Update

Post by djoker »

update(binary)
http://depositfiles.com/files/5135043




Image
Image
Image
Image
Image
Image
Image


new features:

Code: Select all


draw direct with the engine 

//triangleCount: amount of Triangles. Usually amount of indices / 3
procedure Render_DrawIndexdTriangle(vertex:PS3DVertex;VertexCount:integer;indices:p16;triangleCount:integer);cdecl ;external IRR_DLL;
//param triangleCount: amount of Triangles. Usually amount of indices - 2
procedure Render_DrawIndexdTriangleFan(vertex:PS3DVertex;VertexCount:integer;indices:p16;triangleCount:integer);cdecl ;external IRR_DLL;
grass system performance with QuadTree

Code: Select all

function   Scene_InitGrassSystem(idepth, cLevel:integer;debug:boolean):ITreeGrassNode;cdecl ;external IRR_DLL;
procedure  Scene_StartAdding(GrassTree:ITreeGrassNode);cdecl ;external IRR_DLL;
procedure   Scene_AddPlant(GrassTree:ITreeGrassNode;Texture:ITexture;Pos:IVEC3; PlantSize, HideDist, angle:single;WindspeedX, WindspeedY:single;MatType:E_MATERIAL_TYPE=EMT_TRANSPARENT_ALPHA_CHANNEL_REF; Lighting:boolean=true);cdecl ;external IRR_DLL;
procedure  Scene_StopAdding(GrassTree:ITreeGrassNode);cdecl ;external IRR_DLL;

files sytem(gz fles)

Code: Select all

function gzFiles_Open(const filename:pchar;const mode:pchar):IFile;cdecl ;external IRR_DLL;
function gzFiles_Close(vFile:IFile):integer;cdecl ;external IRR_DLL;
function gzFiles_Error(vFile:IFile):pchar;cdecl ;external IRR_DLL;
function gzFiles_Read(vFile:IFile;buffer:pointer; vsizeofbuffer:integer):integer;cdecl ;external IRR_DLL;
function gzFiles_Write(vFile:IFile;buffer:pointer; vsizeofbuffer:integer):integer;cdecl ;external IRR_DLL;
function gzFiles_WriteString(vFile:IFile;const s:pchar):integer;cdecl ;external IRR_DLL;
function gzFiles_ReadString(vFile:IFile;buf:pchar;lenofbf:integer):pchar;cdecl ;external IRR_DLL;
function gzFiles_Seek(vFile:IFile;offset:integer;whence:integer):integer;cdecl ;external IRR_DLL;
function gzFiles_Eof(vFile:IFile):boolean;cdecl ;external IRR_DLL;
new steering behaviors

Code: Select all

(detect obstacle on map or with colider)

function Steer_Create:TSteerVehicle;cdecl ;external IRR_DLL;
procedure Steer_Destroy(Vehicle:TSteerVehicle);cdecl ;external IRR_DLL;

procedure Steer_Debug(Vehicle:TSteerVehicle);cdecl ;external IRR_DLL;
procedure Steer_SetMass(Vehicle:TSteerVehicle;mass:single);cdecl ;external IRR_DLL;
procedure Steer_SetSpeed(Vehicle:TSteerVehicle;speed:single);cdecl ;external IRR_DLL;
procedure Steer_SetRadius(Vehicle:TSteerVehicle;radius:single);cdecl ;external IRR_DLL;
procedure Steer_SetMaxForce(Vehicle:TSteerVehicle;mf:single);cdecl ;external IRR_DLL;
procedure Steer_SetMaxSpeed(Vehicle:TSteerVehicle;ms:single);cdecl ;external IRR_DLL;
procedure Steer_RandomizeHeading(Vehicle:TSteerVehicle);cdecl ;external IRR_DLL;


procedure Steer_UpdateProximity(Vehicle:TSteerVehicle);cdecl ;external IRR_DLL;
procedure  Proximity_Create;cdecl ;external IRR_DLL;
procedure  Proximity_Destroy;cdecl ;external IRR_DLL;
procedure  Proximity_AddVehicle(Vehicle:TSteerVehicle);cdecl ;external IRR_DLL;

procedure Steer_ResetAcceleration(Vehicle:TSteerVehicle;x,y,z:single);cdecl ;external IRR_DLL;

function  Steer_GetSpeed(Vehicle:TSteerVehicle):single;cdecl ;external IRR_DLL;

procedure Steer_ApplyForce(Vehicle:TSteerVehicle;x,y,z:single;time:single);cdecl ;external IRR_DLL;
procedure Steer_ApplyBrakingForce(Vehicle:TSteerVehicle;rate,time:single);cdecl ;external IRR_DLL;

procedure Steer_TransformNode(Vehicle:TSteerVehicle;Player:ISceneNode;MoreDiff:single);cdecl ;external IRR_DLL;
function Steer_GetPosition(Vehicle:TSteerVehicle):IVEC3;cdecl ;external IRR_DLL;
function Steer_GetSide(Vehicle:TSteerVehicle):IVEC3;cdecl ;external IRR_DLL;
function Steer_GetUp(Vehicle:TSteerVehicle):IVEC3;cdecl ;external IRR_DLL;
function Steer_GetForward(Vehicle:TSteerVehicle):IVEC3;cdecl ;external IRR_DLL;
function Steer_GetAngles(Vehicle:TSteerVehicle):IVEC3;cdecl ;external IRR_DLL;
procedure Steer_SetPosition(Vehicle:TSteerVehicle;x,y,z:single);cdecl ;external IRR_DLL;

procedure  Steer_FindNeighbors(Vehicle:TSteerVehicle;avg:TAVGroup;x,y,z,r:single);cdecl ;external IRR_DLL;

function Steer_SetWander(Vehicle:TSteerVehicle;dt:single):IVEC3;cdecl ;external IRR_DLL;
function Steer_SetSeek(Vehicle:TSteerVehicle;x,y,z:single):IVEC3;cdecl ;external IRR_DLL;
function Steer_SetFlee(Vehicle:TSteerVehicle;x,y,z:single):IVEC3;cdecl ;external IRR_DLL;
function Steer_SetAvoidObstacle(Vehicle:TSteerVehicle;Obstacle:TObstacle;predictionTime:single):IVEC3;cdecl ;external IRR_DLL;
function Steer_SetAvoidNeighbors(Vehicle:TSteerVehicle;vg:TAVGroup;minTimeToCollision:single):IVEC3;cdecl ;external IRR_DLL;
function Steer_SetFollowPath(Vehicle:TSteerVehicle;Path:TPathway; direction:integer; predictionTime:single):IVEC3;cdecl ;external IRR_DLL;
function Steer_SetEvasion(Vehicle1,Vehicle2:TSteerVehicle;maxPredictionTime:single):IVEC3;cdecl ;external IRR_DLL;
function Steer_SetPursuit(Vehicle1,Vehicle2:TSteerVehicle;maxPredictionTime:single):IVEC3;cdecl ;external IRR_DLL;
function Steer_SetAlignment(Vehicle:TSteerVehicle;vg:TAVGroup;maxDistance,cosMaxAngle:single):IVEC3;cdecl ;external IRR_DLL;
function Steer_SetSeparation(Vehicle:TSteerVehicle;vg:TAVGroup;maxDistance,cosMaxAngle:single):IVEC3;cdecl ;external IRR_DLL;

function Steer_SetAvoidTriangles(Vehicle:TSteerVehicle;Triangle:ITriangleSelector;RaySize:single;showray:boolean=true):IVEC3;cdecl ;external IRR_DLL;


function   Path_Create(pointCount:integer;Vects:PVEC3;radius:single; cyclic:boolean):TPathway;cdecl ;external IRR_DLL;
procedure  Path_Destroy(Path:TPathway);cdecl ;external IRR_DLL;

function  Obstacle_AddSpherical(x,y,z,radius:single):TObstacle;cdecl ;external IRR_DLL;
procedure Obstacle_Delete(Obj:TObstacle);cdecl ;external IRR_DLL;


function   Group_Create:TAVGroup;cdecl ;external IRR_DLL;
procedure  Group_Destoy(vg:TAVGroup);cdecl ;external IRR_DLL;
procedure  Group_AddVehicle(vg:TAVGroup;Vehicle:TSteerVehicle);cdecl ;external IRR_DLL;
procedure  Group_RemoveVehicle(vg:TAVGroup;Vehicle:TSteerVehicle);cdecl ;external IRR_DLL;
procedure  Group_Clear(vg:TAVGroup);cdecl ;external IRR_DLL;
LandTiles (save and load with gz)

Code: Select all



function  LandTile_Create(width,height:integer;tilesize:single;rendersize:Integer):ISceneNode;cdecl ;external IRR_DLL;

procedure LandTile_LoadHeightMap(Land:ISceneNode;const filename:pchar;scale:single;w:integer=0;h:integer = 0);cdecl ;external IRR_DLL;
procedure LandTile_Update(Land:ISceneNode);cdecl ;external IRR_DLL;
procedure LandTile_SetFollow(Land:ISceneNode;Node:ISceneNode);cdecl ;external IRR_DLL;
procedure LandTile_StopFollow(Land:ISceneNode);cdecl ;external IRR_DLL;
procedure LandTile_FlipTileH(Land:ISceneNode;w,h:integer);cdecl ;external IRR_DLL;
procedure LandTile_FlipTileV(Land:ISceneNode;w,h:integer);cdecl ;external IRR_DLL;
procedure LandTile_SetHeight(Land:ISceneNode;w,h:integer;newheight:single);cdecl ;external IRR_DLL;
procedure LandTile_SetColor(Land:ISceneNode;w,h:integer;color:IColor);cdecl ;external IRR_DLL;
procedure LandTile_RotateTile90(Land:ISceneNode;w,h:integer);cdecl ;external IRR_DLL;
procedure LandTile_RotateTile180(Land:ISceneNode;w,h:integer);cdecl ;external IRR_DLL;
procedure LandTile_RotateTile270(Land:ISceneNode;w,h:integer);cdecl ;external IRR_DLL;
procedure LandTile_StretchTextureOverTile(Land:ISceneNode;Scalex:single=1;ScaleY:Single=1);cdecl ;external IRR_DLL;
procedure LandTile_StretchTextureOverLand(Land:ISceneNode;Scalex:single=1;ScaleY:Single=1);cdecl ;external IRR_DLL;
procedure LandTile_SetTileIndex(Land:ISceneNode; w, h,index,countx,county:integer);cdecl ;external IRR_DLL;
function  LandTile_CameraPick(Land,Camera:ISceneNode;dist:single;out Intersect:IVEC3):boolean;cdecl ;external IRR_DLL;
function  LandTile_RayPick(Land,Camera:ISceneNode;RBegin,REnd:IVEC3;dist:single;out Intersect:IVEC3):boolean;cdecl ;external IRR_DLL;
procedure LandTile_GetTilePos(Land:ISceneNode;Pos:IVec3;out outW:integer;out outH:integer)cdecl ;external IRR_DLL;

procedure LandTile_SetStep(Land:ISceneNode;step:integer);cdecl ;external IRR_DLL;
procedure LandTile_SetTileSize(Land:ISceneNode;size:integer);cdecl ;external IRR_DLL;

function LandTile_CountSectors(Land:ISceneNode):integer;cdecl ;external IRR_DLL;
function LandTile_CountDrawSectors(Land:ISceneNode):integer;cdecl ;external IRR_DLL;

procedure LandTile_UpdateNomals(Land:ISceneNode);cdecl ;external IRR_DLL;

function  LandTile_GetTileHeight(Land:ISceneNode;w,h:integer):single;cdecl ;external IRR_DLL;
function  LandTile_GetHeight(Land:ISceneNode;Pos:IVec3):single;cdecl ;external IRR_DLL;

procedure LandTile_SafeToFile(Land:ISceneNode;filename:pchar);cdecl ;external IRR_DLL;
procedure LandTile_LoadFromFile(Land:ISceneNode;filename:pchar);cdecl ;external IRR_DLL;
Never underestimate the power of Delphi....Ignorance is bliss, but knowledge is power...
xunmeng
Posts: 1
Joined: Thu Jun 12, 2008 8:55 am

Post by xunmeng »

file not exists ?

where can i get it!
hzsyber
Posts: 52
Joined: Tue Apr 01, 2008 2:21 pm
Location: Canton,China.

Post by hzsyber »

Such file does not exist or it has been removed for infringement of copyrights.
djoker
Posts: 39
Joined: Thu Dec 22, 2005 10:25 pm
Location: Portugal

Post by djoker »

hzsyber wrote:Such file does not exist or it has been removed for infringement of copyrights.

http://www.mediafire.com/?snwwqzmsjtm

:oops:
Never underestimate the power of Delphi....Ignorance is bliss, but knowledge is power...
Post Reply