A forum for feature requests/discussions and user submitted patches that improve MQ2
Moderator: MacroQuest Developers
-
MacroFiend
- a grimling bloodguard

- Posts: 662
- Joined: Mon Jul 28, 2003 2:47 am
Post
by MacroFiend » Sun Oct 26, 2003 7:30 pm
On a completely clean copy of MQ, I CTD when attempting to /editmacro notes or /editmacro load [filename]. I used the default UI for this test in addition to my custom UI though /editmacro did show the command help.
Crashed with the note window open or closed on the following line:
Code: Select all
SetCXSTRText((*EQADDR_CLASSNOTESWND)->pEditWnd->WindowText,Buffer);
Commenting out the above line, I was able to use the commands and watch them change the notes window title bar.
-
Mckorr
- Developer

- Posts: 2326
- Joined: Fri Oct 18, 2002 1:16 pm
- Location: Texas
Post
by Mckorr » Mon Oct 27, 2003 9:46 am
Looks related to the massive struct overhaul in MQ.h recently. I'll poke around in MQ.h, but I'm betting Lax could answer this pretty quickly.
MQ2: Think of it as Evolution in action.
-
Lax
- We're not worthy!

- Posts: 3524
- Joined: Thu Oct 17, 2002 1:01 pm
- Location: ISBoxer
-
Contact:
Post
by Lax » Mon Oct 27, 2003 10:02 am
Actually it's not directly related to the struct overhaul. Plaz was using the structs in his testing it seems, so I don't think that's whats going on.
I'm not sure specifically how the notes window works, I'll have to look into it and maybe I can post some suggestions.
-
MacroFiend
- a grimling bloodguard

- Posts: 662
- Joined: Mon Jul 28, 2003 2:47 am
Post
by MacroFiend » Mon Oct 27, 2003 10:28 am
From looking at it, the LoadNotes function reads the file in via MQ and is supposed to push it in to the editable field. I know that the function Plaz is using works simply because it is able to change the title. My guess would be that either the notes window struct is off where the pEdit struct pointer is.
I can be pretty sure it isn't a file format error (unix vs. dos) since the /editmacro notes command reloads the EQ created notes.txt and that crashed too.
-
EqMule
- Developer

- Posts: 2697
- Joined: Fri Jan 03, 2003 9:57 pm
-
Contact:
Post
by EqMule » Mon Oct 27, 2003 12:47 pm
well its Plaz baby, I noticed the ctd as well, but I figured he would fix whatever the reason is for that crash, so I have not poked at it... if you figure it out though, more power to you :)

o/
If you like MQ2 and would like to contribute, please do. My goal is 25 donations per month.
So far I've received

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.
-
Plazmic
- The One

- Posts: 800
- Joined: Fri Jun 14, 2002 12:31 am
-
Contact:
Post
by Plazmic » Tue Oct 28, 2003 4:42 am
It worked for me last time I tested it... I'll look at it some more ;(
-
Plazmic
- The One

- Posts: 800
- Joined: Fri Jun 14, 2002 12:31 am
-
Contact:
Post
by Plazmic » Fri Oct 31, 2003 11:03 am
The struct was messed a bit...
Code: Select all
typedef struct _EQNOTESWINDOW {
/*0x000*/ struct _CSIDLWND Wnd;
/*0x138*/ BYTE Unknown0x138[[color=red]0x8[/color]];
/*0x140*/ struct _CSIDLWND *pEditWnd;
} EQNOTESWINDOW, *PEQNOTESWINDOW;
-
Mckorr
- Developer

- Posts: 2326
- Joined: Fri Oct 18, 2002 1:16 pm
- Location: Texas
Post
by Mckorr » Fri Oct 31, 2003 11:06 am
0x8, or 0x08? And wouldn't that change 0x140 to 0x146?
MQ2: Think of it as Evolution in action.
-
Plazmic
- The One

- Posts: 800
- Joined: Fri Jun 14, 2002 12:31 am
-
Contact:
Post
by Plazmic » Fri Oct 31, 2003 11:13 am
0x08 and 0x8 are the same number
0x8+0x8 = 0x10
It still doesn't work right though, since Lax's CXStr function doesn't want to work on edit windows for some reason.
but at least this way it's not a CTD
-
Lax
- We're not worthy!

- Posts: 3524
- Joined: Thu Oct 17, 2002 1:01 pm
- Location: ISBoxer
-
Contact:
Post
by Lax » Fri Oct 31, 2003 11:18 am
I'll take a look at the edit window