Irrlicht 1.2 and 1.3 with Digital Mars

A forum to store posts deemed exceptionally wise and useful
Post Reply
HLFat
Posts: 71
Joined: Sun Sep 24, 2006 6:55 pm
Location: USA

Irrlicht 1.2 and 1.3 with Digital Mars

Post by HLFat »

Hello all-

Digital Mars does work with Irrlicht.If you have an existing Digital Mars install,just get my Irrlicht1.2-DM build info,copy the include to the Irrlicht include,and use the included DLL and lib.

If you want to try Digital Mars,the command line tools are free.Plus Code::Blocks is Digital Mars aware.

To get Digital Mars working to build the examples,it is straight forward.To build the DLL and lib requires more work.

To get Digital Mars working:

Go to Digital Mars and get DM849c and STLport 4.5.3.Unzip.There is no install,just copy to the harddrive.Copy the contents of STLport to the dm install directory.In my case it's c:\dm.Then set your path.In my case it was PATH=c:\dm\bin.Copy the Irrlicht.dll and Irrlicht.lib to where ever you are going to work, for example examples\01.HelloWorld.

Ok, to build HelloWorld open a command window in the 01.HelloWorld directory,type in DMC -I..\..\include -oHelloWorld main.cpp.It should compile and link.Run HelloWorld.exe.

Edit: to open a command window with ease,get the windows XP 'Open Command Window Here' PowerToy.Google PowerToys.

Something that reqires STL,go to examples\02.Quake3Map.Open a command window.You will now need to include the STLport headers.Type DMC -I..\..\include;c:\c:dm\stlport\stlport -oQuake3Map main.cpp.Should compile and link and run.Oh...my DLL doesn't include DirectX 8.Just DirectX 9.

Ok..time for the acid test.Go to examples\Demo.Open command window.Type in DMC -I..\..\include;c:\dm\stlport\stlport -oDemo main.cpp CDemo.cpp CMainMenu.cpp.Oh yeah,comment out irrKlang in the CDemo.h.

Havent tried irrKlang yet,don't think it will work until he posts the source.But Audiere works.Just coff2omf the Audiere.lib.

Edit: You can get an Audiere version of 'Demo' in the Irrlicht 1.1 download.

Ok...the above should also work with the Code::Blocks IDE.All of the examples have a Code::Blocks project file.Except it has to be changed from the default GNU compiler to Digital Mars compiler.To do that open the Code::Blocks project,such as example.cbp in HelloWorld.
Right click on the Workspace,go to build options.Switch from GNU GCC to Digital Mars Compiler.Not the Digital Mars D compiler.That's something else.Select Linker and remove the GNU link options.One more thing:Right click on the Build project,select properties,select Targets,and change to .\HelloWorld.Build and run.

To build the DLL: This requires more work.First you need to upgrade the Win32 includes and libs to the latest Microsoft Platform SDK.Plus some of the Platform SDK headers have to be modified.Plus the Microsoft libs have to be changed from COFF format to OMF format.Directions for this are on the Digital Mars website.

Then you need the DirectX 9 headers,if you want DirectX 9 support.

Then update the SC.INI file in the dm\bin directory to reflect those changes.

I have included a Irrlicht.mak and a modified Irrlicht.cdb in the download materials.

Plus if you want a debugger, WinDbg kinda works with Digital Mars.

But I suggest you get the Digital Mars CD,which includes the aging,but very nice,Digital Mars IDE (Symantec) which has a debugger built in.Digital Mars uses the Codeview format,which is why WinDbg kinda works.No support for PDB files because MicroSoft changes the format too often.Per Walter Bright,the genius behind Digital Mars.

Well...I think that's it.

Edit: tried irrKlang.Even doing the COFF to OMF changes didn't work.
Also tried the DM implib to convert a DLL to an inport library.
Didn't work.The test app wouldn't link with the lib.

Try Audiere.I know that works.After it's modified from COFF.Get the 9.49 upgrade files to get coffimplib.Another great utility from Walter Bright.

Like I said previously,try to support this.This is apparently a 'one man' show,with community help.Microsoft spends millions on C++ compilers,this guy does it in his spare time.
HLFat
Posts: 71
Joined: Sun Sep 24, 2006 6:55 pm
Location: USA

Post by HLFat »

Here is Irrlicht 1.3 for Digital Mars:Irrlicht1.3-DM.

Also included the static lib.
Phant0m51
Posts: 106
Joined: Mon Jan 15, 2007 6:07 am

Post by Phant0m51 »

What kind of speed optimizations is Digitalmars going to give?
HLFat
Posts: 71
Joined: Sun Sep 24, 2006 6:55 pm
Location: USA

Post by HLFat »

Here is a list:Optimizer.

However,I built the DLL and lib with optimizations turned off because the build took too long.

Edit:Oh...how Fast is it?It's comparable to Microsoft,judging by the frame rates of the examples.
HLFat
Posts: 71
Joined: Sun Sep 24, 2006 6:55 pm
Location: USA

Post by HLFat »

OK...I have Irrlicht 1.3.1 working.Irrlicht-1.3.1-DMC.

Ran through all of the examples,and everything seemed to work.When using the static lib you will have to link to gdi32.lib.
afecelis
Admin
Posts: 3075
Joined: Sun Feb 22, 2004 10:44 pm
Location: Colombia
Contact:

Post by afecelis »

Very nice contribution HLFat! :D
You should try putting everything into a pdf. Very nice. Thanks for sharing it.

regards,
Alvaro
HLFat
Posts: 71
Joined: Sun Sep 24, 2006 6:55 pm
Location: USA

Post by HLFat »

Very nice contribution HLFat!
You should try putting everything into a pdf. Very nice. Thanks for sharing it.
Thanks!

I'll look into putting everything into a PDF.
Post Reply