Is it possible to compile MQ with Borland C++ Builder 6.0?

Need help running MacroQuest 1? Too bad! Use MQ2.

Moderator: MacroQuest Developers

Goober
orc pawn
orc pawn
Posts: 20
Joined: Thu Aug 15, 2002 9:38 pm

Is it possible to compile MQ with Borland C++ Builder 6.0?

Post by Goober » Tue Oct 14, 2003 1:00 am

and if it is, would anybody mind replying with a simple explanation regarding how to do it? :) The reason I ask is because I can *legally* obtain this builder without having to write large checks to people. ;)

Goober

User avatar
dont_know_at_all
Developer
Developer
Posts: 5450
Joined: Sun Dec 01, 2002 4:15 am
Location: Florida, USA
Contact:

Post by dont_know_at_all » Tue Oct 14, 2003 2:47 am

In theory, it is possible. It just isn't easy.

Just throw all the source at the Borland compiler and fix any errors.

Currently, MQ is not supported in the Borland environment.

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Tue Oct 14, 2003 9:08 am

The problem is that MQ was written using Microsoft C++, and Microsoft feels no need to comply with ANSI standards. That pretty much breaks the source code for other compilers.

I started work on converting MQ over to Dev-C++ a long time ago, but the project got put on the backburner while I was working on a fix for /mouseto and /click in the NewUI. I'll have to dig around on my harddrive and see if I still have the files, maybe get back to it. I'm due for an EQ break anyway.
MQ2: Think of it as Evolution in action.

User avatar
dont_know_at_all
Developer
Developer
Posts: 5450
Joined: Sun Dec 01, 2002 4:15 am
Location: Florida, USA
Contact:

Post by dont_know_at_all » Tue Oct 14, 2003 2:43 pm

Luckily, the developers here follow the ANSI standard.

The only thing preventing a gcc build is the detours stuff. Oh, and the newer assembly code. I #ifdef'ed a bunch of the assembler code a while ago and added the ATT equivalents but never got around to the newer stuff.

Anyway, since all the C code compiles with gcc, I assume that doing a Borland port would not be excedingly difficult.

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Wed Oct 15, 2003 9:23 am

Dev-C++ chokes on this piece of EQLib_Main

Code: Select all

#if !defined(CINTERFACE)
#error /DCINTERFACE
#endif
Removing that causes it to fail on the inline Assembly.
MQ2: Think of it as Evolution in action.

User avatar
dont_know_at_all
Developer
Developer
Posts: 5450
Joined: Sun Dec 01, 2002 4:15 am
Location: Florida, USA
Contact:

Post by dont_know_at_all » Wed Oct 15, 2003 3:17 pm

Like I said, I haven't fixed the newer assm that has been added.

If someone does a gcc build of detours, I will fix the rest of the assembly code in mq.