PDA

View Full Version : OUTDATED: Guide for Compiling EQemu w/ free trial VS.NET


maximo
05-05-2004, 10:35 AM
Free compiler no longer available :(


OK, this guide lets you compile EQemu COMPLETLY FREE!! So far it has been tested and worked on Windows ME and XP. Should work on 95/98 too.

Got to http://vs03-us.protier.com/admin/skins/VS03-US/vssignup.aspx and register.
(Choose 1-4 Developers, Other for job role, check all for boxes, make sure No is chosen). Check your e-mail. Click the link. Wait while it loads. Click ?Click here to access your server?.

http://www.freewebs.com/guidepics/vsnet.JPG



Log in with password you are given in your e-mail.

http://www.freewebs.com/guidepics/faceplate.JPG



If a window pops up click Yes.

http://www.freewebs.com/guidepics/warning.JPG



Close the windows welcome:

http://www.freewebs.com/guidepics/closewindow.JPG



Cancel the Download:

http://www.freewebs.com/guidepics/cancelwelcome.JPG



Go to ?Start -> Control Panel -> Add or Remove Programs?

http://www.freewebs.com/guidepics/addremove.JPG



Click Add/Remove Windows Components. Click Next. Click Finish when it?s done, close the other window.

http://www.freewebs.com/guidepics/components.JPG
http://www.freewebs.com/guidepics/components2.JPG


Use Quick-launch icons to open Internet Explorer.

http://www.freewebs.com/guidepics/quicklaunch.JPG




Download zlib 1.1.4 from http://www.gzip.org/zlib/

Unzip the compliled dll file to the desktop. Extract it with the option to preserve directory structure.

Download the latest EQemu (currently http://www.eqemulator.net/users/shawn319/cvs/EQEmu-0.5.7-DR2-Source.zip) to the desktop, there are two so look at this picture:

Also download mysql.zip from my webspace, this contains mysql.h required as an include file.
http://www.freewebs.com/guidepics/mysql.zip
!!Right click save as, for some reason clicking it appears to open a window and link to the current page!!


Note to those security conscious people out there, yes I did include a zip I created however these files will never touch your computer as you're using the MS VS .NET trial on MS's server hence you are safe (though I assure you anyway the files are safe of virus/trojans etc.)

http://www.freewebs.com/guidepics/todesktop.JPG



Right click on the downloaded file and select Extract all.

http://www.freewebs.com/guidepics/file.JPG
http://www.freewebs.com/guidepics/extract.JPG
http://www.freewebs.com/guidepics/extracted.JPG




Copy the contents of the extracted mysql folder to the include folder in the extracted zlib directory.

http://www.freewebs.com/guidepics/path.JPG




Now open Microsoft Visual Studio .NET 2003, Go to the menu Tools/Options. In the folder pane, navigate to Projects/VC++ Directories, in the Show directories for dropdown select "Include Files"

http://www.freewebs.com/guidepics/vsnetopt.JPG


To the bottom of the list add the path to the extracted zlib\include folder.

Now select "Library Files" and again add the path to the extracted zlib\include folder.

http://www.freewebs.com/guidepics/library.JPG



Once this is done you should be ready to compile!
Close VS .NET 2003 and open the extracted EQemu folder.
Double click on the Server.sln file.

http://www.freewebs.com/guidepics/server.JPG



When a window pops up asking to convert the files click Yes. Then make sure that the version is set to Release.

http://www.freewebs.com/guidepics/release.JPG




Go to the Build menu and select Build Solution.

http://www.freewebs.com/guidepics/build.JPG




Wait awhile until the Output window says:

http://www.freewebs.com/guidepics/success.JPG

and close the program(NOT THE SERVER WINDOW, if you close that window you will need to log back on).




Open the Build folder within the extracted EQemu folder, select from it, World.exe, Zone.exe and EMuShareMem.dll, right click them and choose to send them to a compressed file(the name of which will vary).

http://www.freewebs.com/guidepics/zip.JPG




Open internet explorer, go to http://www.sendthisfile.com. Register for a new account then login and send the new compressed file to your e-mail.

CLOSE SERVER WINDOW!!(Yay!!) Go to your e-mail and download the file to your desktop. Right click the new file and select Extract all.

Extract the files to your EQemu Directory and hurrah! you've compiled your own EQemu


Log onto EQemu and have Fun!!


!!!NOTE!!!
(I can't remember 100% but think you may need to follow the following instructions below before compiling to get character creation working)


edit ..\common\eq_packet_structs.h

go down to struct CharCreate_Struct

add this on the end /*0140*/ int32 unknown140;

make sure this is at the end of the section have seen people put it in midway through by mistake...

Now edit ..\common\database.cpp. First make sure that all instances of 'result' are initialized to 0. I did this with a find and replace of 'MYSQL_RES *result;' with 'MYSQL_RES *result = NULL;'

Then, also in database.cpp in the function
Database::GetStartZone(), the make the following change. This bit of code...

if((rows = mysql_num_rows(result)) == 1)
row = mysql_fetch_row(result);
if(result) mysql_free_result(result);

...needs to be conditional upon result != NULL, like this:

if(result)
{
if((rows = mysql_num_rows(result)) == 1)
row = mysql_fetch_row(result);
if(result) mysql_free_result(result);
}

Aside from that. There was one instance of the pointer 'query' not being initialized before use. Make sure anything that looks like 'char *query;' becomes 'char *query = 0;'.


P.S. bits here and there are shamelessly stolen, credit goes to Gyrepin and ritojo for the two fixes to get char creation working


Finally IF this does not work for you please go back through and recheck every step of the way, in testing it works fine, if after you've checked and rechecked you have a problem please contact me.

Tangeleno
05-05-2004, 12:19 PM
well followed it to the T but mine came out a little different...

---------------------- Done ----------------------

Build: 0 succeeded, 3 failed, 0 skipped




Seems it cant find three files with the .h extention... zlib.h,errmsg.h and mysql.h

maximo
05-05-2004, 07:16 PM
ahh my appologies I forgot a section.

EDIT: updated to include the missing header and library files give it a shot now.

Lemme know if you've any more problems, or contact me on maximo@marijuana.com

molimo140
05-06-2004, 01:32 AM
On a side note, EQEmu source can be compiled if you have a C++ compiler, even if it isnt VS.NET....I have been for a while now.

dragonflz
05-06-2004, 01:39 AM
Yes, I have VC++6 and it compiles perfectly, with the exception of client_process.cpp where you have to edit 1 line of code..

Drag

maximo
05-06-2004, 03:32 AM
personally I have vs .net 2003, just seen a lotta people complaining about being unable to complain so thought I'd try help.

Tangeleno
05-06-2004, 09:13 AM
works like a charm with the files thanks man :)

Spike
05-06-2004, 09:40 AM
WOW THIS IS THE MOST USEFUL THING ON EQEMU! THANKS SOOOOO MUCH!

I may make a movie out of this....

RangerDown
05-06-2004, 09:57 AM
just seen a lotta people complaining about being unable to complain

You meant compile, but still that made me LOL :lol:

maximo
05-06-2004, 10:35 AM
bah you know what I meant :P but hey we all have silly moments.

EDIT:

P.S. Glad to see it works, thanks fer the confirmation Tangeleno, was doing it all from memory :) stupid proxied network here means I couldn't actually load the damn trial to run a propper test so was using my pc to "emulate" the trial set up.

NarutoLegacy
05-06-2004, 01:16 PM
3 Hour Trial.

maximo
05-06-2004, 09:01 PM
indeed though using dummy email accounts one can get unlimited trials...

ultimatex
06-01-2004, 06:11 PM
I succesfully used this guide. Thanks for making it. Except I tried to compile DR4 using the latest source from cvs.biosprite.net. And i was un-succesful with EMuShareMem. Got a bunch of errors off it.
So i guess it wasnt a succesfull attempt.... However Zone, and World compiled just fine.

Any suggestions?

Tangeleno
06-01-2004, 06:15 PM
Check out this post ultimatex.
http://www.eqemulator.net/forums/viewtopic.php?t=15188

ultimatex
06-02-2004, 06:07 AM
Beutiful Thanks!

Pyrix
06-02-2004, 06:15 AM
ultimate:

The Errors are caused of the npctype files.
Simply delete them of the solution (not only delete em).
There are also sum faults in attack.cpp (i think it is it) and im going to fix it soon...

farmerted
06-02-2004, 06:44 PM
I want to thank you for your time in creating this walkthrough.

I had a problem using VS.NET however

First it doesn't work with Netscape and I HATE IE.

I created an account and filled in all the options exactly as you said to do.

I got my email and clicked the link included in the email to login.

After waiting about 5 minutes my screen refreshed to show me my server picture.

I clicked on the "click here to access your server" link and a new window opened to a black screen.

Seconds later I got the Active X warning popup for which I clicked the YES option.

I then got to a second login window in which my user name was already in place and all I had to do was type in my password.

Typing in my password created a bunch of black dots to mask the input and no matter what I typed in it would not accept my password. I know about it being case sensitive and had my firewall shutoff. Not sure why, it may be Windows 98 which I use on this pc. I gave up after 2 hours and creating 3 seperate accounts for VS.NET to no avail.

I then downloaded a free C++ compiler called "Dev-C++"

http://www.bloodshed.net/dev/devcpp.html

I tried to "guess" my way through it. I did manage to compile something that included 147 errors. That did me no good.

Could anyone recommend a free download of a C++ compiler that would be able to create the files needed? Or Anyone out there familiar with Dev-C++ that could help me out?

Thanks in Advance,

Farmer Ted

Darkdrizzt
06-13-2004, 12:47 PM
I'm getting a Solution File 'C:\desktop\eq emu dr4\server.sln' cannot be converted because it is read only on disk


what do i do lol

gottasummer
08-06-2004, 11:31 PM
so um... how long is this trial good for?

It said I have 3 hours to login, does that mean it will expire in three hours?

gottasummer
08-09-2004, 05:23 AM
Yes, I have VC++6 and it compiles perfectly, with the exception of client_process.cpp where you have to edit 1 line of code..

Drag

What do you need to edit? this is a bit off topic but I like VC++6 better than this VC 2005 BETA1 crap.

BlueHi
09-09-2004, 08:42 AM
Thanks Maximo, for this great guide.

gottasummer
09-26-2004, 10:19 AM
GREAT

I put my zlip folder into the C:/program files/microsoft visual studio 8/vc or whatever.

I am doin it on my own dev pc.