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

Reply
 
Thread Tools Display Modes
  #16  
Old 07-19-2009, 07:16 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Interesting... Doors do seem to work just fine when I test your example. The place I was testing them in was Dreadspire and most of the doors there have considerably longer names than doors in older zones. Here are some examples:

Quote:
OBJ_LIBRY_HIDEDOOR
OBJ_MAINCASTLE_DOOR
OBJ_DINE_LDOOR
OBJ_DINE_RDOOR
OBJ_DNGRM_LDOOR
OBJ_DINERM_RDOOR
OBJ_MAINCASTLE_DOOR
OBJ_HIDDENDOOR
OBJ_BDRM_LDOOR
OBJ_BDRM_RDOOR
OBJ_LIBRY_SWITCH
MAYONGSWITCHA
MAYONGSWITCHB
OBJ_MAINCASTLE_DOOR
OBJ_TORTURE_DOOR
I didn't try all of those, but I did try a few. My best guess is that the problem is with the length of the new door names. I made sure to try some under 16 chars, but that didn't make any difference. Maybe we are setting the limit lower than it should be somewhere. Also, for it to work on all doors, we might need to look into increasing the limit from 16 chars to 20 or so. I went through a while back and set it so doors can use 32 chars, because they were previously set to 16 for no reason. From looking at the packet structure on Titanium, it looks like we could easily bump objects up to 32 as well:

Code:
/*44*/	char	object_name[20];	// Name of object, usually something like IT63_ACTORDEF
/*64*/	float	unknown064;			// seems like coords, not always valid, all 0 on most world objects
/*68*/	float	unknown068;			// seems like coords, not always valid, all 0 on most world objects
/*72*/	float	unknown072;			// seems like coords, not always valid, all 0 on most world objects

Those last 3 fields there are bogus and could be combined with the 20 from the object name to make 32. For some reason, live sends bogus info in their name fields after the name, but it has no use at all and is somewhat random in many cases. I would guess that they do that to throw people like us off, but I'm not falling for it :P

So, if we change the structure, we would also have to change everything else related to object name to be able to handle 32 characters in length. I think that would fix the issue I was seeing in Dreadspire at least. Probably even some old zones would have issues with this limitation, so it wouldn't hurt to get it fixed at some point.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #17  
Old 07-22-2009, 11:54 AM
Yeormom
Discordant
 
Join Date: Apr 2004
Location: 127.0.0.1
Posts: 402
Default

I've always added my objects to the database directly and reloaded the zone. I'm sure some if you will run into the same problem I did with tradeskill objects. Improperly configured tradeskill objects will crash the client with a null pointer exception everytime a person clicks on them. Might be worth adding some additional logic handling in the future if you haven't already and this becomes common usage.
__________________
Yeorwned
Bane of Life [Custom Classic/PvP]
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:48 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3