Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Server Code Submissions

Reply
 
Thread Tools Display Modes
  #1  
Old 06-01-2008, 10:26 AM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default Azone Patch

Here is a patch to fix some issues with the version of azone distributed with the server source:

http://www.rama.demon.co.uk/azone.patch

The differences against the stock code are:

Fixes a couple of instances where polys are missed out of a facelist, leaving 'holes' in the ground.
Handles the different size of the Vertex struct in V3 EQGs
Handles all the Titanium EQGs without the need for manual offset hacking
Includes geometry up to Z=3000 rather than Z=620 (Using Z=620 misses the higher parts of zones such
as Frontier Mountains and Dreadlands).

It was mentioned to me that the fear code had some issues in the EQG versions of TutorialB and Lavastorm,
so I generated some new ones with this patch applied and did some testing in those two zones and didn't
see any instances of feared mobs disappearing through walls (although my testing was limited).
Reply With Quote
  #2  
Old 06-01-2008, 05:25 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Works well, even on some maps that have been problematic in the past such as east wastes.
Reply With Quote
  #3  
Old 06-01-2008, 10:03 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

I'd say this is a pretty major fix, I can't find anything walking through hills or walls anymore.
Rest of the "hoppers" are gone too.

Thanks Derision!
Reply With Quote
  #4  
Old 06-01-2008, 10:25 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

I'd have to agree, this patch works very well.
Reply With Quote
  #5  
Old 06-02-2008, 01:38 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

I don't fully understand what that does, so my question is; Does this replace the need for .map files for each and every zone to have LoS? Or is that something completely different? And if this does effect LoS, does that mean that using this will allow the newer Titanium zones like DoD and DoN to work with proper LoS so they can finally be populated and used?

If so, then that is AMAZING lol!

Thanks, and sorry for my ignorance. I haven't read much on the subject of azone, eqg, or .map files to know much of what they do other than I am pretty sure .maps tell the server the 3D layout of the zone for LoS on spells and mob agro.

Or, is this patch just for pathing? Even still, it sounds great and I will be checking it out for sure! I love major breakthroughs like this
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #6  
Old 06-02-2008, 02:22 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Azone is the utility that produces the .map files. Currently it has some issues with some maps, even some older ones but especially with some newer ones that this addresses.
Reply With Quote
  #7  
Old 06-02-2008, 03:12 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

I've always been interested in this little app. I got it to compile with the patch on Linux (FC but when I run it on draniksewersa.eqg, it just says unable to open draniksewersa.eqg or s3d. So just to test, I copied over an older zone (dreadlands.s3d) and this one started the Loading dreadlands.s3d, then failed with a Segmentation fault.

Anyone care to give us a refresher course on how this works? Seems a few of you got it to work with no problem. So I must be missing something.

Thanks,
-J
Reply With Quote
  #8  
Old 06-02-2008, 05:41 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

I'm not really sure on the mechanics of running it under a unix system. I actually wasted a day porting it to windows(hooray that was ... fun). Quite simply azone [zonename]. It will add the ext on it's own so it would be azone tutorialb and not azone tutorialb.eqg for example. Beyond that I'm not sure what would cause any such problems, perhaps someone else can comment.
Reply With Quote
  #9  
Old 06-02-2008, 06:04 AM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

Quote:
Originally Posted by John Adams View Post
I copied over an older zone (dreadlands.s3d) and this one started the Loading dreadlands.s3d, then failed with a Segmentation fault.

Anyone care to give us a refresher course on how this works? Seems a few of you got it to work with no problem. So I must be missing something.
On Linux it is just a case of make & run.

Are you using binary mode in ftp when copying the files over to your Linux box ?
Just on a hunch I copied one over using ftp and didn't specify binary mode and I get a segfault in S3d_Init:

Code:
entwiss@zaphod ~/EQEmu-0.7.0-1091/utils/azone $ ulimit -c unlimited
entwiss@zaphod ~/EQEmu-0.7.0-1091/utils/azone $ ./azone arena
Loading arena.s3d...
Segmentation fault (core dumped)
entwiss@zaphod ~/EQEmu-0.7.0-1091/utils/azone $ gdb ./azone core
GNU gdb 6.7.1
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /lib/libz.so.1...done.
Loaded symbols for /lib/libz.so.1
Reading symbols from /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libstdc++.so.6...done.
Loaded symbols for /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libstdc++.so.6
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1...done.
Loaded symbols for /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Core was generated by `./azone arena'.
Program terminated with signal 11, Segmentation fault.
#0  0x0804ee96 in S3D_Init (obj=0xbfdc96fc, fp=0x8057008) at s3d.c:82
82            obj->files[running] = ftell(fp) - 12;
(gdb)
If you are using an ftp command line client, always enter the 'bin' command before using put or get.
Reply With Quote
  #10  
Old 06-02-2008, 12:56 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Ahh ok, I'll try again. Using FileZilla and I think it's set to automatic.

I'll report back if I just noob'd it. Thanks both.
Reply With Quote
  #11  
Old 06-02-2008, 01:06 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Nah oh well, still gives me the Segmentation fault on dreadlands.s3d using Binary in FileZilla and Windoze command line FTP. I'll mess with it on a few other zone files later.
Reply With Quote
  #12  
Old 06-02-2008, 01:13 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Ok the 5 minute rule is a little ridiculous. Sorry about the spam.

Following your commands, here's my simulation;

Code:
[root@vmg-swg azone]# ulimit -c unlimited
[root@vmg-swg azone]# ./azone dreadlands
Loading dreadlands.s3d...
Segmentation fault (core dumped)
[root@vmg-swg azone]# gdb ./azone core.31660
GNU gdb Red Hat Linux (6.6-45.fc8rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu"...
Using host libthread_db library "/lib64/libthread_db.so.1".

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /lib64/libz.so.1...done.
Loaded symbols for /lib64/libz.so.1
Reading symbols from /usr/lib64/libstdc++.so.6...done.
Loaded symbols for /usr/lib64/libstdc++.so.6
Reading symbols from /lib64/libm.so.6...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libgcc_s.so.1...done.
Loaded symbols for /lib64/libgcc_s.so.1
Reading symbols from /lib64/libc.so.6...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Core was generated by `./azone dreadlands'.
Program terminated with signal 11, Segmentation fault.
#0  0x00000033aba79010 in strcmp () from /lib64/libc.so.6
(gdb)

Oh shit. I just remembered this was a 64-bit OS. Is that a problem?
Reply With Quote
  #13  
Old 06-02-2008, 01:15 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

I made a new map pack and am uploading it to Rathe Forums downloads area. it has all the updated map zone files from the Titanium expansion - it is a large file so it takes a while, I'll post here when its ready.
Reply With Quote
  #14  
Old 06-02-2008, 01:51 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

Quote:
Originally Posted by John Adams View Post
Oh shit. I just remembered this was a 64-bit OS. Is that a problem?
I've not used 64-bit Linux, but it wouldn't surprise me if that is the problem, e.g. the code makes assumptions that certain data types are a given size (e.g. a long integer is 32 bits). If the size or alignment of data types is different for code generated by 64-bit GCC, then that would break things.
Reply With Quote
  #15  
Old 06-02-2008, 02:30 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

The files are posted at Legacy of the Rathe "general files" in "downloads". You have to be a member in order to see the downloads area - called "New updated Map pack". I also dumped the water maps from Titanium, in case the original dump I got elsewhere was incomplete (posted under "Latest WaterMaps").
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 02:19 AM.


 

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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3