CTD on /editmacro

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

Moderator: MacroQuest Developers

MacroFiend
a grimling bloodguard
a grimling bloodguard
Posts: 662
Joined: Mon Jul 28, 2003 2:47 am

CTD on /editmacro

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
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!
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.
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

MacroFiend
a grimling bloodguard
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
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 :)
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.

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

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

Mckorr
Developer
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
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
- Plazmic

Lax
We're not worthy!
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
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0