Miscellaneous struct cleanups, verifications, etc...

A forum for feature requests/discussions and user submitted patches that improve MQ2

Moderator: MacroQuest Developers

Amadeus
The Maestro
The Maestro
Posts: 2036
Joined: Sat Jun 29, 2002 3:51 pm

Miscellaneous struct cleanups, verifications, etc...

Post by Amadeus » Sun May 11, 2003 4:51 am

Here are a couple structures I went through to verify.

Code: Select all

// 4/30/2003 build	
typedef struct _BOOK {
/*0x00*/    BYTE Unknown0x0[3];
/*0x04*/	 CHAR File[15];
} BOOK, *PBOOK;

Code: Select all

// 4/30/2003 build	
typedef struct _SPELLBUFF {
/*0x00*/	BYTE      Unknown0x00;
/*0x01*/	BYTE      Level;
/*0x02*/	WORD      Unknown0x02;
/*0x04*/	WORD      SpellID;
/*0x06*/	WORD      Unknown0x06;
/*0x08*/	DWORD     Duration;
/*0x0c*/	DWORD     Unknown0x0c;
} SPELLBUFF, *PSPELLBUFF; 

Code: Select all

// 4-30-2003 build	
typedef struct _DOOR {
/*0x00*/	PVOID pUnknown0x00;		
/*0x04*/	struct _DOOR *pPrev;
/*0x08*/	struct _DOOR *pNext;
/*0x0c*/	BYTE ID;
/*0x0d*/	CHAR Name[11];
/*0x18*/	DWORD Unknown0x18;
/*0x1c*/	DWORD Unknown0x1c;
/*0x20*/	FLOAT DefaultY;
/*0x24*/	FLOAT DefaultX;
/*0x28*/	FLOAT DefaultZ;
/*0x2c*/	FLOAT DefaultHeading;
/*0x30*/	FLOAT DoorAngle;
/*0x34*/	FLOAT Y;
/*0x38*/	FLOAT X;
/*0x3c*/	FLOAT Z;
/*0x40*/	FLOAT Heading;
} DOOR, *PDOOR;

Code: Select all

// 4-30-2003 build	
typedef struct _GROUNDITEM {
/*0x00*/	struct _GROUNDITEM *pPrev;
/*0x04*/	struct _GROUNDITEM *pNext;
/*0x08*/	DWORD ID;
/*0x0c*/	DWORD DropID;
/*0x10*/	DWORD Unknown0x10;
/*0x14*/	DWORD DxID;
/*0x18*/	BYTE Unknown0x18[176];
/*0xc8*/	DWORD Unknown0xc8;
/*0xcc*/	FLOAT Heading;
/*0xd0*/	FLOAT Z;
/*0xd4*/	FLOAT X;
/*0xd8*/	FLOAT Y;
/*0xdc*/	CHAR Name[30];
} GROUNDITEM, *PGROUNDITEM;

Here are a few eqmule's that I modified to show offsets in hex (since he mentioned in a prior post he wanted to do that from now on anyway). I was going through them all for learning process, so it wasn't that much of an issue.

Code: Select all

// 4/30/2003 build		eqmule
typedef struct _CONTAINER { 
/*0x00*/   struct _ITEMINFO *Contents[10];	//addresses to whats inside the bag if its a bag 
/*0x28*/   BYTE      PackType;				//  0: Small Bag 1: Large Bag 2: Quiver 3: Belt Pouch and so on... there are 50 types I dont wanna list them all... 
/*0x29*/   BYTE      Slots;					// 0 to 10 
/*0x2a*/   BYTE      Open;					//0 closed 1 open 
/*0x2b*/   BYTE      SizeCapacity;			// 0: TINY 1: SMALL 2: MEDIUM 3: LARGE 4: GIANT 
/*0x2c*/   BYTE      WeightReduction; 
/*0x2d*/   BYTE      Unknown0x2d[3]; 
/*0x30*/   BYTE      Combine;				// 03 taylor combine 05 no combine NOT SURE ABOUT THIS YET! 
/*0x31*/   BYTE      Unknown0x31[6]; 
} CONTAINER, *PCONTAINER; 



// 4/30/2003 build		eqmule
typedef struct _LIGHTINFO { 
/*0x00*/   DWORD Unknown0x00; 
/*0x04*/   DWORD Unknown0x04; 
/*0x08*/   BYTE Unknown0x08[8]; 
/*0x10*/   FLOAT Y; 
/*0x14*/   FLOAT X; 
/*0x18*/   FLOAT Z; 
/*0x1c*/   FLOAT Radius; 
} LIGHTINFO, *PLIGHTINFO; 



// 4-30-2003 build		eqmule
typedef struct _ACTORINFO { 
/*0x0000*/   PLIGHTINFO pDx8Light; 
/*0x0004*/   DWORD Unknown0000;        
/*0x0008*/   CHAR  ActorDef[64]; 
/*0x0048*/   BYTE  Unknown0x0048[9536]; 
/*0x2540*/   PMODELINFO *Model; 
/*0x2544*/   BYTE  Unknown0x2544[712]; 
/*0x2808*/   DWORD Trader;                      //0=normal 1=trader 
/*0x280c*/   DWORD Unknown10252; 
} ACTORINFO, *PACTORINFO;