MerchantWindow has grown? /selectitem posts...

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

Moderator: MacroQuest Developers

User avatar
auth
a ghoul
a ghoul
Posts: 84
Joined: Sun Apr 13, 2003 12:47 am

MerchantWindow has grown? /selectitem posts...

Post by auth » Thu Sep 11, 2003 11:26 am

I have been tracing down the selector in merchantwindow for a while... I tried 3 different methods, and ALL end up with the same results.

i am certain of these following values:

MerchWindow = 17103300
Slot 0 = 17103C1C
Slot 1 = 171043D4
Slot 2 = 17104B4C
If I freeze these slots, selector stays on each one, and i can select more...
slot 2 to slot 1 = 778 hex
slot 1 to slot 0 = 7b8 hex
slot 0 to merchwind = 91c

I believe the original selector just made sure that slot0 was set at 1 when you opened up the window. Either this struct has grown this far, or I'm just going nuts. These are the only spots that these values change with the selector. I have not tried to use an unknown to get down this far, will try that in just a minute (damn 1018). I am positive that I'm not nuts, it in fact IS a long way to trace in memory (took me a couple hours) byte by byte.
Auth - "If it isn't broke, let VI patch it"

User avatar
auth
a ghoul
a ghoul
Posts: 84
Joined: Sun Apr 13, 2003 12:47 am

Post by auth » Thu Sep 11, 2003 8:22 pm

Okay, Valerian stepped through this with me and this is what we have for EQWindow struct so far...

Code: Select all

// 9/11/03 - Valerian, Auth
  typedef struct _EQWINDOW {
  /*0x000*/	DWORD   WindowID;
  /*0x004*/	DWORD   TimeMouseOver;         //how many ms the window has had the mouse over it...
  /*0x008*/	DWORD   Unknown0x008;      // 2000 seems a common value
  /*0x00c*/	DWORD   Unknown0x00c;      //500 seems a common value
  /*0x010*/	BYTE    Flag;
  /*0x011*/	BYTE    MouseOver;         //01 yes 00 no
  /*0x012*/	BYTE    Unknown0x012;
  /*0x013*/	BYTE    Unknown0x013;
  /*0x014*/	BYTE    Unknown0x014[12];
  /*0x020*/	struct  _EQWINDOW *pDownTheTreeOnSameWindow;
  /*0x024*/	struct  _EQWINDOW *pNextWindow;
  /*0x028*/	DWORD   Flags4;
  /*0x02c*/	BYTE    Unknown0x028[4];
  /*0x030*/	DWORD   X;
  /*0x034*/	DWORD   Y;
  /*0x038*/	DWORD   X2;
  /*0x03c*/	DWORD   Y2;
  /*0x040*/	DWORD   Unknown0x40;
  /*0x044*/	DWORD   Depth;            //hmmm...
  /*0x048*/	BYTE    Unknown0x040[8]; // WAS 8!!
  /*0x054*/	BYTE    Open;            //1 open 0 closed
  /*0x055*/	BYTE    Unknown0x051[7];
  /*0x058*/	DWORD	Unknown0x058;
  /*0x05c*/	PVOID   pUnknown0x05c;
  /*0x064*/	struct  _EQWINDOWINFO *Info;
  /*0x068*/	BYTE   Unknown[84];
  /*0x0bc*/	union{
  				PITEMINFO   Item;//only when structure is filled with a slot...
  				struct   _EQWINDOW   *InvDecription;
  			};
  /*0x0c0*/	BYTE   Unknown1[68];
   /*0x100*/   DWORD  SlotID;       // slotid only after first window, first slotid is a pointer to that window
  /*0x104*/   PVOID  Unknown0x104;  
  /*0x108*/   BYTE   Unknown2[12];  
  /*0x114*/   DWORD   Selector;      //this graphically selects an item on/off 
  /*0x118*/   DWORD   PushToSelector;  
  /*0x11c*/   DWORD   Unknown0x11c;
  /*0x120*/	BYTE   Unknown4[36];// was 36//364
  /*0x144*/	PCONTENTS   ItemDesc[80];   //the mainwindow has pointers directly to the items in the slots...
  /*0x284*/	DWORD   Unknown5;
  /*0x288*/	DWORD   SelectedSlotID;
  /*0x28c*/	DWORD   AddressToPointerForSelectedItem;//
  /*0x290*/	DWORD   Unknown6;
  /*0x294*/	DWORD   ItemIconwnd;
  /*0x298*/	DWORD   Unknown7;
  /*0x29c*/	DWORD   SellBuyButton;
  /*0x2a0*/	struct _EQWINDOW   *SlotsHandles[80];
  /*0x3e0*/	DWORD   DoneButton;
  /*0x3e4*/	DWORD   WindowFace;
  } EQWINDOW, *PEQWINDOW;
I think this byte count is right... I'll run back through it more thoroughly later unless someone else corrects me first
Auth - "If it isn't broke, let VI patch it"

FrankJScott
naggy
naggy
Posts: 2399
Joined: Sun Feb 19, 2023 7:11 am

Useful Interior Design Details

Post by FrankJScott » Fri Aug 11, 2023 2:14 am

Why don't you Google it! before you post

FrankJScott
naggy
naggy
Posts: 2399
Joined: Sun Feb 19, 2023 7:11 am

Cool Product Blog

Post by FrankJScott » Fri Aug 18, 2023 8:24 pm

Why don't you Google it! before you post