Hi all
I write headers for use Irrlicht and irrKlang in delphi without wrappers.
Supported platform: x86, x64
Supported os: Windows
IrrDelphi Current version 0.05 (26.01.16):
26.01.16:
/ BIG update after 5 years!
+ Support Irrlicht 1.8.3 (compiled in gcc 4.6.1)
+ This version used library compiled in gcc, so "thiscall" emulator not needed (and in general it gives a great binary compatibility)
+ Ported a lot of missing structures, classes and etc..
+ Now can use "Irrlicht.IReferenceCounted" methods "grab\drop" and have access to virtual parent class "IReferenceCounted"
* Some bugs fixed.. some added)
* No memory leaks in examples
* Ported from cpp examples:
e01_HelloWorld - EDT_SOFTWARE replaced on EDT_DIRECT3D9, because we have division by zero exception in core irrlicht
e02_07_16_Quake3Map - mix from original examples: 02.Quake3Map + 07.Collision + 16.Quake3MapShader
e03_CustomSceneNode
e04_Movement
e05_UserInterface
e06_2DGraphics
e07_Collision
e08_SpecialFX
e10_Shaders - don't use high level shaders
e11_PerPixelLighting
e12_TerrainRendering
e13_RenderToTexture
e14_Win32Window
e15_LoadIrrFile
e18_SplitScreen
e19_MouseAndJoystick - joystick code is not tested properly
e20_ManagedLights
e21_Quake3Explorer - is bad example and untested properly
e23_SMeshHandling
I just took a quick look at it, but porting IrrDelphi to other platforms except Windows seems would seem quite difficult. Linux might work if you replace all stdcall; with cdecl; and delete all references to windows.pas. Mac OS X is definitely a no-go at the moment, since assembler calls are not (correctly) supported on Intel machines and don't get me started on PowerPC architecture.
Under which license are you publishing your work?
How about merging you efforts into IrrlichtPas? There is OOP branch in the SVN repository which would be perfect for your solution.
I just downloaded your project and ran some examples.
Contratulations!
It's a great job!
thanks)
I just took a quick look at it, but porting IrrDelphi to other platforms except Windows seems would seem quite difficult. Linux might work if you replace all stdcall; with cdecl; and delete all references to windows.pas
you try this?
remove win reference it easy, and i think dont need replace stdcall with cdecl
Stoney wrote:...
Mac OS X is definitely a no-go at the moment, since assembler calls are not (correctly) supported on Intel machines and don't get me started on PowerPC architecture.
A dont think about PowerPC =)
Under which license are you publishing your work?
My license ~= Irrlicht license =)
How about merging you efforts into IrrlichtPas? There is OOP branch in the SVN repository which would be perfect for your solution.
Awesome ! Your method for direct interoperation between Delphi and c++ is incredible. I've never seen anything like it.
Do you create pascal headers manually ?, or maybe (semi-) automatic (parser / code generator ) ?
Thanks ! It's impressive. Currently, it is the only complete and up to date solution to use Irrlicht with Delphi/Pascal.
Examples still working with dll 1.7.1 so probably interface is unchanged.
I hope that in future you will still continue this excellent work... In the past I tried to use some wrappers (IrrPascal, Irr4Delphi, etc.),
but authors have lost interest in their further updating.
If you had some free time, sometime - maybe you could create a similar header to the IrrKlang library ?
Lupin wrote:Thanks ! It's impressive. Currently, it is the only complete and up to date solution to use Irrlicht with Delphi/Pascal.
Examples still working with dll 1.7.1 so probably interface is unchanged.
I hope that in future you will still continue this excellent work...
My free time = irrDelphi updating
Lupin wrote:
In the past I tried to use some wrappers (IrrPascal, Irr4Delphi, etc.),
but authors have lost interest in their further updating.
I think it's because Delphi not popular for 3d programming
Lupin wrote:
If you had some free time, sometime - maybe you could create a similar header to the IrrKlang library ?
I’ve compiled your last examples with Delphi 2010. The only change that was need – replacement in Irrlicht_17.pas from PChar to PAnsiChar (because in D2009-D2010 PChar is PWideChar).