new structures _EQWINDOWINFO and _EQWINDOW updated...

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

Moderator: MacroQuest Developers

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

new structures _EQWINDOWINFO and _EQWINDOW updated...

Post by EqMule » Sat May 24, 2003 9:50 pm

Code: Select all

 //5-15-2003   eqmule 
typedef struct _EQWINDOWINFO { 
	DWORD	WindowStyle;				//if it is style then 04 = Window 01 = button 
	DWORD	Unknown1; 
	DWORD	Unknown2; 
	DWORD	Unknown3; 
	DWORD	Unknown4; 
	CHAR	 WindowTitle[140]; 
	BYTE	 Unknown5[12]; 
	DWORD	pNextAddress;				//most likely pointers to another structure... 
	DWORD	pPrevAddress; 
} EQWINDOWINFO, *PEQWINDOWINFO;			//ok it goes on and there are plenty more to pick up here, but I just need the name for now... 

// 5-15-2003   eqmule/Jaerin/Amadeus 
typedef struct _EQWINDOW { 
/*0x000*/	DWORD	WindowID; 
/*0x004*/   DWORD   WndTime1;			//how many ms the window has been open since sessionstart... 
/*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 *pNext; 
/*0x024*/   struct  _EQWINDOW *pPrev; 
/*0x028*/   DWORD	Flags4; 
/*0x02c*/   DWORD	Z;					//not sure but its logical to assume it at this point... 
/*0x030*/   DWORD	X; 
/*0x034*/   DWORD	Y; 
/*0x038*/   DWORD	Height; 
/*0x03c*/   DWORD	Width; 
            DWORD	Depth;				//hmm maybe... 
            BYTE	 Unknown0x040[12]; 
            BYTE	 Open;				//1 open 0 closed 
            BYTE	 Unknown0x051[7]; 
            DWORD	somekindofID; 
            DWORD	*pUnknownStruct0x060; 
            struct  _EQWINDOWINFO Info; 
            BYTE	 Unknown0x068[198]; 
            BYTE	 WndButton;			//01 pressed 00 not pressed 
            BYTE	 Unknown0xxxx[3]; 
            BYTE	 Unknown0xxxxx[180]; 
            DWORD	WndTime2;			//how many ms the window has been open since sessionstart... 
}EQWINDOW, *PEQWINDOW;  
I need this for the auto opening/buying/combining/and awholelot of other stuff that has to do with mouseparsing...

The idea here is to enumurate the windows, get the titles, compare tham to the argument passed by the user in our functions that could use it... for example click... , if there is an auto <windowtitle> passed to click we wont "dinput" it, we just set

Code: Select all

EQWINDOW->WndButton 01 and EQWINDOW->Open to 01
which will open the window or bag for example... I also think picking up things from the inventory or from any of our bags can be done like that as well...

and yeah I know I suck at counting bytes, but at this point its just a working copy which will change alot the next few days.

like playing with our structs? feel free to help filling in the gaps.

Code: Select all

Containers=005E09B8
Last edited by EqMule on Sun Jun 08, 2003 12:31 pm, edited 3 times in total.
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Wed Jun 04, 2003 12:10 pm

Okay, someone pointed out a problem with $invpanel.

If we set EQWINDOW->WndButton to "i", can we then check the state of EQWINDOW->Open to determine whether the inventory window is open or closed? Or am I way off base here?
MQ2: Think of it as Evolution in action.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Post by EqMule » Thu Jun 05, 2003 12:52 pm

if you set EQWINDOW->WndButton to 01 and EQWINDOW->Open to 01 assuming you are doing it at the right offset... for example the one for inventory, you will open it...


the client always set both places when you open a window that has a button associated with it, Im talking about the windows selector buttons off course...

I have been very busy in RL at work, so I cant really lab much more with this right now, but as soon as I get some time off I will continue my work with this, because it is possible to open and close every container, corpse, bank, bazaar search merchants, you name it, as long as we have the offset and set thoose two values to 01...
Last edited by EqMule on Fri Jun 06, 2003 3:14 am, edited 1 time in total.
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

Sman
orc pawn
orc pawn
Posts: 13
Joined: Tue Jun 03, 2003 11:47 pm

Post by Sman » Thu Jun 05, 2003 1:00 pm

So is there currently anyway to check for this flag in macroquest?
eq n00b!

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Post by EqMule » Thu Jun 05, 2003 1:04 pm

yes if you insert the structures and use my /env example in another post http://macroquest2.com/phpBB2/viewtopic ... c&start=15 then recompile you will get it but I dont think its cvsed at this time its still under development but i could be wrong i havent checked out a new cvs for a long time...
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

Sman
orc pawn
orc pawn
Posts: 13
Joined: Tue Jun 03, 2003 11:47 pm

Post by Sman » Thu Jun 05, 2003 1:14 pm

Ok, great, I'll give it a go and see if I can get it to work. I really stink at C++..haha!
eq n00b!

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Fri Jun 06, 2003 8:17 am

This is the only structure in MQ.h at the moment for EQWINDOW

Code: Select all

// 5-15-2003	eqmule/Jaerin/Amadeus
typedef struct _EQWINDOW { 
/*0x000*/	BYTE	Unknown0x000[4]; 
/*0x004*/	DWORD	*UnknownStruct0x004;
/*0x008*/	DWORD	Unknown0x008; // 2000 seems a common value
/*0x00c*/	DWORD	Unknown0x00c; //500 seems a common value
/*0x010*/	DWORD	Flags1; 
/*0x014*/	BYTE	Unknown0x014[12];
/*0x020*/	DWORD	Flags2;
/*0x024*/	DWORD	Flags3;
/*0x028*/	DWORD	Flags4;
/*0x02c*/	DWORD	Flags5;
/*0x030*/	DWORD	X; 
/*0x034*/	DWORD	Y; 
/*0x038*/	DWORD	Height; 
/*0x03c*/	DWORD	Width; 
/*0x040*/	BYTE	Unknown0x040[16]; 
/*0x050*/	BYTE	Open; //1 open 0 closed 
/*0x051*/	BYTE	Unknown0x051;
/*0x052*/	BYTE	Unknown0x052[14];
/*0x060*/	DWORD	*UnknownStruct0x060;
}EQWINDOW, *PEQWINDOW; 
There is no struct for EQWINDOWINFO in the CVS.
MQ2: Think of it as Evolution in action.

EqMule
Developer
Developer
Posts: 2697
Joined: Fri Jan 03, 2003 9:57 pm
Contact:

Post by EqMule » Fri Jun 06, 2003 10:22 am

Mckorr wrote:There is no struct for EQWINDOWINFO in the CVS.
You *could* cvs it if you like... :wink: See my first post in this thread... its there... but if you do that you should use the _eqwindow structure from it as well, then we just need to write some enumeration code to list the windows and select the right one based on what the /env Open <somewindow> is preferably with a case insensitive string compare and do a

Code: Select all

if (strstr(EQWINDOW->Info.WindowTitle,  somewindow) then
EQWINDOW->Open = 0x01; //(or however that syntax goes need to try it...)
.. I will do it when i get some more time unless someone beats me to it... *wink*

maybe we should just add 2 functions called Open and Close which takes a windowtitle or part of the windowtitle as the only argument, the /env thing I did in another thread was just a small example to show how to do it just to get some help on cleaning it... what do you think?
My status o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received Image donations for this month's patches.

Bitcoin: 1Aq8ackjQ4f7AUvbUL7BE6oPfT8PmNP4Zq
Krono: PM me.
I can always use characters for testing, PM me if you can donate one.

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Sat Jun 07, 2003 9:37 am

I'd vote for Open and Close, since we use "enviro" for environmental combiners. Keep the confustion to a minimum.
MQ2: Think of it as Evolution in action.

xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: new structures _EQWINDOWINFO and _EQWINDOW updated...

Post by xyilla » Mon Sep 22, 2025 10:00 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: new structures _EQWINDOWINFO and _EQWINDOW updated...

Post by xyilla » Mon Sep 22, 2025 10:01 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: new structures _EQWINDOWINFO and _EQWINDOW updated...

Post by xyilla » Mon Sep 22, 2025 10:03 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: new structures _EQWINDOWINFO and _EQWINDOW updated...

Post by xyilla » Mon Sep 22, 2025 10:40 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: new structures _EQWINDOWINFO and _EQWINDOW updated...

Post by xyilla » Mon Sep 22, 2025 10:41 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: new structures _EQWINDOWINFO and _EQWINDOW updated...

Post by xyilla » Mon Sep 22, 2025 10:42 am