I hope to use irrlicht for my next game project that I am preparing right now (indy development, low budget) but I tend to think ahead to the time when my game will be released which will probably be two years from now. By then I expect 64 bit systems to be quite widespread. I myself just got a 64 system for development and upgraded my Windows XP (yes I actually have an original
Long story short, its important for me, that my programs run in native 64 bit code.
After doing my first compile run, I realized that I was actually compiling the Linux version, since Irrlicht uses the WIN32 macro to test for Windows in general. perhaps it would be better to move that test to the configuration include file and then define a WINDOWS constant there.
Anyway, after replacing all #ifdef WIN32 with #if defined(WIN32) || defined(WIN64) and also doing similar things in the png, jpeg and zlib library where opportune, the first obstacle is taken.
The second one is, to replace all _asm int 3 with assert(0) and also including assert.h since the 64 bit compiler doesnt like the _asm keywoard. I am too new to 64 bit to figure out how to do my own assembler code for my project, but I will eventually.
Anyway, when creating a new compile plattform in the configuration manager there's another catch: The linker settings are so that no machine is specified in the drop down field, instead, the command line option /MACHINE:x86 is set manually which interferes with the 64 bit linker of course. Removing that from teh 64 bit version (and replacing it with the drop down selection in the 32 bit version for that matter) fixed the linker problem.
I have now a basic Irrlicht framework running in native 64 bit code without further problems. Whether everything works or not, I can't say yet, but I wanted to give you a headstart on how to adjust Irrlicht for 64 bit in case anybody else wants to try it out.
The other reason of course is to ask Niko to inmplement those changes into the next version so that Irrlicht becomes 64 bit enabled out of the box without having to go through the source code again and changing the defines.
Oh yes: I dont know if my changes with the png and the other helper libs work or not yet, I may have to fiddle with them some more, but if it turns out those changes are necessary, perhaps it would be prudent to make these changes in the Irrlicht package too, although those libraries are thrid party libraries.
Thanks for the great library Niko