Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Support > Archive::Windows Servers

Archive::Windows Servers Archive area for Windows Servers's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 05-06-2002, 09:31 PM
Boogahed
Fire Beetle
 
Join Date: May 2002
Posts: 28
Default Please post your VC++ project settings

I've been trying to compile a fully working copy of ZoneNT.exe for about a week now. I have no problems compiling without warnings or errors, but the exe produced doesn't function the way it should, particularly when running thru the code produced from WesQuests.cpp
Anytime a .qst file is read for a zone it crashes at the first command for that NPC.
I've compiled on 4 different machines now using MS Visual C++6 SP5, and I've tried running the the server on 3 different machines, all with the same exact results. I'm pretty much running out of options at this point so I'm requesting that those of you who are compiling fully working versions of ZoneNT.exe to please post your project settings.
I'll give a sample of the the information I'm interested in using my own info:

Dev OS: Win2000 Pro
Dev Compiler: MSVC++6 SP5
Server OS: Win 2000 AS

Under Project Settings:

C / C++
---------
Preprocessor Definitions : _WIN32_WINNT=0x0400,WIN32,NDEBUG,_CONSOLE,_MBCS

Project Options :
/nologo /MT /w /W0 /GX /O2 /Ob2 /D _WIN32_WINNT=0x0400 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FR"../Build/Zone/" /Fp"../Build/Zone/Zone.pch" /YX /Fo"../Build/Zone/" /Fd"../Build/Zone/" /FD /c

Link
-----
Object / Library Modules :
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib zlib.lib mysqlclient.lib

Project Options:
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib zlib.lib mysqlclient.lib /nologo /subsystem:console /incremental:no /pdb:"../Build/ZoneNT.pdb" /machine:I386 /out:"../Build/ZoneNT.exe"

Resources
-------------
Preprocessor Definitions:
NDEBUG

Project Options:
/l 0x409 /d "NDEBUG"

Final Output Size of ZoneNT.exe : 720kb

Thanks ahead for all that contribute.
Reply With Quote
  #2  
Old 05-07-2002, 02:06 AM
strychn
Hill Giant
 
Join Date: Feb 2002
Posts: 129
Default

c/c++
====
pre processor definitions:
WIN32,NDEBUG,_CONSOLE,_MBCS,BUILD_FOR_WINDOWS,LUCL IN,_WIN32_WINNT=0x0400

project options:
/nologo /MT /w /W0 /GX /O2 /Ob2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "BUILD_FOR_WINDOWS" /D "LUCLIN" /D _WIN32_WINNT=0x0400 /FR"../Build/Zone/" /Fp"../Build/Zone/Zone.pch" /YX /Fo"../Build/Zone/" /Fd"../Build/Zone/" /FD /c

Link
===
object/library modules:
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib zlib.lib mysqlclient.lib

Project Options:
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

Resources
=======
PreProcessor Definitions:
NDEBUG

Project Options:
/l 0x409 /d "NDEBUG"

Final output of ZoneNT.exe -> 532kb

make sure you've got the right active configuration set (Win32 Release). perhaps get a different copy of the source code and try that. ???
Reply With Quote
  #3  
Old 05-07-2002, 03:27 AM
Boogahed
Fire Beetle
 
Join Date: May 2002
Posts: 28
Default

Looks the same for the most part, I'm assuming you added the LUCLIN and BUILD_FOR_WINDOWS preprocessor defs.

...and yes I'm compiling the release config.
I decided to include this info:

Extra files needed for compile not included with source
--------------------------------------------------------------------

From MySQL binary install version 3.23, ..\include folder:

mysql.h 11KB 2/16/2002 9:01 PM
mysql_com.h 9KB 2/16/2002 9:01 PM
mysql_version.h 1KB 2/16/2002 9:01 PM

from the ..\lib\opt folder:

mysqlclient.lib 490KB 2/22/2002 4:01 AM
zlib.lib 81KB 2/22/2002 4:00 AM

from the zlib source version 1.1.4:

zconf.h 8KB 3/11/2002 2:16 PM
zlib.h 41KB 3/11/2002 2:56 PM

Please verify that these are the same ones you guys are using.

Thanks again.
Reply With Quote
  #4  
Old 05-07-2002, 05:16 AM
strychn
Hill Giant
 
Join Date: Feb 2002
Posts: 129
Default

yup. something like that...
the zone runs fine until you initiate a quest?
post one of the quests that crashes it.
Reply With Quote
  #5  
Old 05-07-2002, 06:20 AM
Boogahed
Fire Beetle
 
Join Date: May 2002
Posts: 28
Default

Any quest file will cause a crash when you hail any npc, even a completely blank .qst file will make it crash.

I did create a simple .qst file for testing purposes and narrowed down the exact lines of code causing the probem.

NPC_SCRIPT 4009 {
TRIGGER_TEXT:Hail:{
EMOTE:Grins at you.
}

(note : If I use the ZoneNT.exe that I downloaded with the binary distribution, this quest works perfect.)

In this example, lines 1 and 2 get read in fine, line 3 causes a crash.

In WesQuests.cpp, the CheckQuests function initiates a loop at line 153:

for(int i=0; i < 2048; ++i)

the way I understand it 'i' will increase by one for each line in the quest file, the commands will get extracted from the line and then pass thru a 'if / else if' sequence set up for each command available.
At the end of this loop, at line 495 we have this code:

#ifdef WIN32
delete command;
delete temp;
#endif

line 496 is where the problem is. On lines 1 and 2 of the quest file this code executes with no problem, but on line 3, the line that has the EMOTE command, a crash will occur just after the the command is executed and it hits the 'delete command' line.

The player will see a message like "Priest of Discord grins at you.", then see the zone shutdown mesages right after.
This will occur on the first command found in any quest file. If I had a SAY command there instead of EMOTE, it would have crashed after the SAY command.

I'm not really sure why a blank .qst file would cause the problem, I just found out about that one yesterday when someone in IRC reported having the same problems as me.

The only thing I really haven't tried at this point is loading up a machine with Windows XP and compiling there, but several people tell me they have compiled under Windows 2000 ok.

I've also installed Visual C++ 6 from the CD then applied service pack 5 right after, just to make sure nothing was wrong with my VC++ installation. I compile programs all the time and have never had problems before though.
I also borrowed a copy of Developer's Studio (rather than the VC++ standalone I have), installed that onto a machine and got the exact same compile.
Reply With Quote
  #6  
Old 05-07-2002, 07:28 AM
strychn
Hill Giant
 
Join Date: Feb 2002
Posts: 129
Default

mmmm....
go back over your scripts and make sure there are no extra spaces. actually the preprocessor definitions were in the source.
is there a possibility you're trying to build the wrong version of the source?
should double check that, and make sure you're spacing is right.

if you still have trouble, let me know. that's just all i can think at the moment. :p
Reply With Quote
  #7  
Old 05-07-2002, 07:39 AM
Boogahed
Fire Beetle
 
Join Date: May 2002
Posts: 28
Default

I can check for spaces but that wouldn't explain why the binary distribution exe works fine but the one I compile doesn't.
..and yes, I'm absolutely positive I'm compiling the right source. I've downloaded it 4 times on 4 different machines, its the 0.3.1.1 source at this link:

http://prdownloads.sourceforge.net/e...1.1-source.zip

Also, here's someone else with the same problem:

http://www.eqemu.net/forums/showthre...;threadid=1830
Reply With Quote
  #8  
Old 05-07-2002, 08:15 AM
strychn
Hill Giant
 
Join Date: Feb 2002
Posts: 129
Default

heheh, just making sure. :p
i couldn't say then?
Reply With Quote
  #9  
Old 05-07-2002, 10:34 AM
Boogahed
Fire Beetle
 
Join Date: May 2002
Posts: 28
Default

Sorry if I sound snotty, I'm just a little upset that something this simple is not working. I didn't want to come right out and say "hey, the code you have posted on the website is wrong", but its looking like thats the only thing I can believe at this point.
If there was ANY form of documentation besides the sparse comments within the code itself it would be a hell of a lot easier to start helping out with this project, but I'm getting the impression that the dev team almost doesn't want people to know what's going on. I can't really understand why this is even being labeled open source, no CVS, barely any documentation, and very few detailed responses from knowledgable people.
Its not like I'm leaving out a bunch of information here, I'm giving very detailed explanations of the problem, and the best response I get is "it works ok on my system, something must be wrong with yours" (all 4 of mine that is).
I'm very curious to see how tonight's release works out.
Reply With Quote
  #10  
Old 05-07-2002, 11:01 AM
strychn
Hill Giant
 
Join Date: Feb 2002
Posts: 129
Default

sorry man :(
i dont know anyway i can help.
yeah, mine works. and yeah, the comments in the source suck.
do you get any errors in the console windows?
have you used/compiled previous versions ok?
provide more details on anything you think might be related.
Reply With Quote
  #11  
Old 05-07-2002, 02:56 PM
Boogahed
Fire Beetle
 
Join Date: May 2002
Posts: 28
Default

The console windows are ok up to the point where I hail the NPC. If there's a SAY or EMOTE command then that gets executed, then it says

'Fatal Error! Sending zone to sleep'
right after whatever the NPC says or emotes.

If the quest file is blank or if the first command is something like FACE_TARGET it looks like this:

Message:Hail, Guard Doolin
Reading Quests from Quests\freportw.qst
Fatal Error! Sending zone to sleep

What I mean by blank quest file is that there's actually a quest file there, just nothing in it. If there's no quest file for that zone at all it gives the message about how it couldn't find it and it doesn't crash.
The error occurs after the quest file gets loaded into a buffer and it starts actually trying to process it.

0.3.1.1 is the first version I've compiled or used.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 05:59 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3