PDA

View Full Version : MySEQ 1.15.1 on it's way



MQSEQ2
10-31-2003, 08:34 AM
Thanks to CavemanBob, Slartibartfast and all the others that have helped with this project.

I have heavily modified and cleaned up the code in this version. It's based off 1.14.1.

Features Added:
Spwan Size - Able to change the size of the Spawns
Merchant Identifiers - Draws a Blue/White/Con color Circle
Banker Identifiers - Draws a Green/White/Con color Circle
Guild Master Identifiers - Draws a Red/White/Con color Circle
Speech - Warning/Rare
Flashing Caution Lines - Changes different colors as Mob gets closer.
Field of View (FoV) - Draws red lines in the Range circle for your FoV.
Player Direction line - Added feature back that draws the Players run direction line.
Colors - Added color features to Range Circle and a few other options.
Right Click Menu - moved all options under Options so you can right mouse click the options now.
Hot Keys - Added shortcut keys to menu options.
Target Information Screen - A window like the Tooltip that can be toggled on/off with selected Spawn information.
EQ Target Selection - Select Spawn in EQ and it will select the Spawn in MySEQ.
Spawn List - Refreshes faster, toggle on/off, fixed other issues, Added Hunt/Caution/Rare columns.
Removed duplicate code that wasn't being used.
Added the Numer Pad code to move the map around.
Window Title - For those who are paranoid you can change the Window title and toggle Zone name on/off as well.

Known Issues:
None at the moment.

Feature Requests:
Server Ini file based on Executable name (ex MySEQ.Exe = MySEQ.Ini or rename executable like MyApp.Exe = MyApp.Ini)
Spawn Timers (High Priority)
More Player/Spawn Information (See next post)
If you want more please post them so we can get them in ASAP.

I will be finishing up on the client today and should have the source code posted ASAP. Need to fined a home for it. Sad that I run my on websites and have Gigs of free space but WHOIS can track them back to me. So if anyone has a good site to put this let me know.

I do see code changes are going to be hard to track from the different developers so I will try to add changes from others.


Soucre Code: http://www.geocities.com/mqseq/

MQSEQ2
10-31-2003, 08:41 AM
As you see I have added alot more memory offsets so we can collect and show more information in MySEQ. I'm trying to update the Server right now to collect all the information as well as making it a SysTray Icon (which I have the code) but it will cause a major revamp of it because of the structure change with SPAWNIFO and the need to add a CHARINFO structure then being able to get both structures merged together to send via telnet to the client. Then major changes on the client side will need to be made to handle the different structures. I currently have all the code (untested at the moment) for the CHARINFO and SysTray but my C# isn't the best (Dang if this project was VB it would alreay be done).

Sample InI
========

[Settings]
Port=6969
Refresh=0

[Memory Offsets]
GroupCountAddr=7396504
GroupAddr=7396832
SpawnHeaderAddr=7403280
ItemsAddr=7403284
CharAddr=7403336
CharInfo=7403344
TargetAddr=7403348
GuildsAddr=7421348
ZoneAddr=7782112

[SpawnInfo Offsets]
NameOffset=1
LastnameOffset=65
XOffset=104
YOffset=108
ZOffset=112
SpeedOffset=128
HeadingOffset=132
LinkdeadOffset=229
LFGOffset=232
EquipmentHeadOffset=272
EquipmentChestOffset=276
EquipmentArmsOffset=280
EquipmentWristsOffset=284
EquipmentHandsOffset=288
EquipmentLegsOffset=292
EquipmentFeetOffset=296
EquipmentPrimaryOffset=300
EquipmentSecondaryOffset=304
NextOffset=316
PrevOffset=328
TypeOffset=364
GenderOffset=374
LevelOffset=372
HideOffset=376
ClassOffset=378
SpawnIDOffset=384
RaceOffset=392
AFKOffset=404
BodyTypeOffset=408
HPCurrentOffset=412
DeityOffset=424
HPMaxOffset=428
GuildIDOffset=432
SpawnInfoEndOffset=436

[GroundItem Offsets]
PrevOffset=0
NextOffset=4
SpawnIDOffset=12
ZOffset=32
XOffset=36
YOffset=40
NameOffset=44
GroundItemEndOffset=68

[CharInfo Offsets]
NameOffset=2
LastnameOffset=66
GenderOffset=136
RaceOffset=140
ClassOffset=144
LevelOffset=152
ExpOffset=156
PracticePointsOffset=160
ManaOffset=164
BaseHPOffset=168
StunnedOffset=172
BaseSTROffset=176
BaseSTAOffset=180
BaseCHAOffset=184
BaseDEXOffset=188
BaseINTOffset=192
BaseAGIOffset=196
BaseWISOffset=200
LanguagesOffset=204
YOffset=2640
XOffset=2644
ZOffset=2648
HeadingOffset=2652
StandStateOffset=2656
PlatOffset=2660
GoldOffset=2664
SilverOffset=2668
CopperOffset=2672
BankPlatOffset=2676
BankGoldOffset=2680
BankSilverOffset=2684
BankCopperOffset=2688
BankSharedPlatOffset=2708
SkillOffset=2740
HungerLevelOffset=3420
ThirstLevelOffset=3424
SpawnInfo=3452
SpawnInfoOffset=3452
STROffset=3584
STAOffset=3588
CHAOffset=3592
DEXOffset=3596
INTOffset=3600
AGIOffset=3604
WISOffset=3608
SaveMagicOffset=3616
SaveFireOffset=3620
SaveColdOffset=3624
SavePoisonOffset=3628
SaveDiseaseOffset=3632
CurrWeightOffset=3638
DietyOffset=4884
AAExpOffset=5364
ServerNameOffset=8288
CharInfoEndOffset=8328

Wattie
10-31-2003, 12:36 PM
Not sure if you have it in there but I'd like to see the way you used to be able to use a GUI to highlight mobs in your list like in 1.13. So I can mob names in bold so they are easy to spot, and easy to enter them in.

MQSEQ2
10-31-2003, 12:48 PM
In 1.15.1 you can select a mob via EQ, Spawn List or click Spawn on Map and they all will select the the Spawn in the Spawn List as well as drawing the Target Line from the player to the Spawn.

As for the code here is what I use:

else if (si.flags == SPAWNINFO.PacketType.Target) { // Target
if (mapPane.map.EQSelectedID != (int)si.SpawnID) {
mapPane.map.EQSelectedID = (int)si.SpawnID;
mapPane.map.selectedID = (int)si.SpawnID;

bSelectList = true;
mapPane.map.Invalidate();
}


And to Hilite the Spawn in the list I use:

if (bSelectList) {
foreach(SPAWNINFO sp in mapPane.map.mobs.Values) {
if (sp.SpawnID == mapPane.map.EQSelectedID) {
sp.listitem.EnsureVisible();
sp.listitem.Selected = true;
break;
}
}
}

Wattie
10-31-2003, 12:56 PM
Not sure that sounds like I was getting at, sorry. What I mean is, remember in 1.13 how you could in the drop down menu "Add Alert" then it would open up a dialog box and you could enter in the name of the mob, click ok, then that mob would stay in bold permanently.

MQSEQ2
10-31-2003, 01:51 PM
That was before my time with MySEQ but I will search for the old code and rip and strip it out and put in my release.

Basically I'm trying to get MySEQ = SEQ features. So if you ever seen SEQ in action that is what I'm trying to get the MySEQ equal too.

reaver
10-31-2003, 02:28 PM
Can't wait to see the spawn timers. Been itchin to install Linux again just to get that feature!

I think what Wattie is referring to is the old Alert system (which has since been upgraded by Slartibartfast).

The old method was put in an alert and it would bold the listing. The new method is a bit more advanced.

I believe that's what he is referring to.

-Reaver

MQSEQ2
10-31-2003, 05:12 PM
That's what is sounds like to me as well. Since this is based off the 1.14.0 version, it has all those features. I'm currently going through and adding some of the 1.14.2 code.

I will be doing final testing of 1.15.1 tonight and will find a home for the source code ASAP. I may have to borrow a temporary server till I can get a permenant home.

Midnight
11-01-2003, 07:50 AM
Thank gawd! A few of these additions have been things we've been waiting for a long time. Thanks for making this happen!!!!!!

MQSEQ2
11-01-2003, 09:43 AM
Source Code is available at http://www.geocities.com/mqseq

Please check it out and let me know what you want added/fixed/changed. The more input we get from the community the better the product will become. So if you can't program you can help by coming up with ideas to improve the product and help test the products.

I have added part of the menu system from 1.14.2 but I have commented out the code due to timeline and testing. I found a major problem with the that code and displaying (what most folks found) and located the problem but I have not had the chance to fully correct the problem. I will start working on this as well as any other changes in a tomorrow night.

Have fun with it and let us know what you think of the enhancements.

reaver
11-01-2003, 10:41 AM
The changes look real good so far.

Couple things:

Had to darken the default background color of map, that shade of grey
was a bit too light.

The draw rate was very slow on initial testing. Not using the fastest computer in the world (350mhz), but it's quite a bit slower than 1.14.1

Will do some further testing on not so overpopulated zones.

I'm assuming the offsets you posted above are for when you revamp the server.

Keep up the good work!

-Reaver

Bob the builder
11-01-2003, 04:12 PM
The draw rate was very slow on initial testing. Not using the fastest computer in the world (350mhz), but it's quite a bit slower than 1.14.1


Same , faster then 1.14.2 but I can't use this version, map refresh is unuseable in current state for me. Back to using 1.14.1

Otherwise it looks good, be nice to have a righ click add to alert feature on spawn list.

MQSEQ2
11-01-2003, 07:37 PM
Did ya'll adjust the Refresh rate to 250ms vs 150ms? I have modified my Server to allow for the adjustment vs. the hardcoded 250ms. So you would need to adjust the client to 250ms.

I will add the Alert stuff ASAP and finish out the menu system to incorporate the options from 1.14.2 (as long as they don't break it).

Bob the builder
11-01-2003, 08:15 PM
adjust the Refresh rate to 250ms

Yes, Options / Options / Update Delay (MS) 250

Actually it was 250 when I first ran it. Ver 1.14.1 is set to same 250 ms. Using 1.19b server with no changes.

Do I need to make a change to myseqserver.ini ?

Well , I went ahead and put the sample.ini into the myseqserver.ini and then tried 1.15.1 again and same thing. I then changed the Update Delay to 150 (stop / go) and 500 (stop / go) . The map doesnt update to real time movement. I literally could run across a zone before it paints my movement.

Any suggestions? is it just my slow 500mhz laptop?

Mixy!
11-02-2003, 07:40 AM
It's not the refresh rate settings. I run myseq on an athlon 650, with 1.14.1 i checked the cpu useage with xp's performance monitor and it would hover around 30%. I rebooted, and fired up 1.15.1 and the cpu useage pegged to 100% and stayed there with the slow repaints.

Im not sure if this will help the devs or not, but it's what's happening on my setup.

Thanks,
-Mixy!

MQSEQ2
11-02-2003, 08:58 AM
I will take a look at, pretty strange that 1.15.1 is based off 1.14.1 with a few 1.14.2 features. I will totally remove the 1.14.2 features and take the base engine to 1.14.1 with all the options I added.

I will post the Server Source once I get it to a state that will be stable.

Now I have all day to work on both the Server and the Client so I should make some head way.

MQSEQ2
11-02-2003, 10:10 AM
I have tested it on a 450 MHz 64 Meg laptop and the CPU ranges from 25% to 80% depending on the zones I'm in. The more Spawns (ie Bazaar, PoK) the more CPU utilizations it uses.

I will get a sniffer out and look at the packets to see if there might be a better way of doing the packets. I do know from looking at the SPAWNINFO structure it is used to send data for everything to the client, which means for a Ground Item (uses like 8 properities) it uses the entire SPAWNINFO just like a regular mob that uses twice as many properties. So by breaking the strucures into multiple areas (GROUNDITEMINFO, SPAWNINFO, CHARINFO) and then compressing that data to transmit we might be able to reduce network traffic which will also reduce the amount of processing on the client, in turn faster refresh on slower computers.

I will be posting the latest source on the site above in a few minutes so we can get some testing in today.

MQSEQ2
11-02-2003, 10:40 AM
1.15.2 Soucre Code: http://www.geocities.com/mqseq/

I removed the source code that was used in 1.14.2. Tested on a 450 MHz 64 Meg RAM laptop in multiple zones. CPU ranges 20% to 80% dependening on the number of Sapwns.

reaver
11-02-2003, 10:53 AM
Possible for you to stick in the compiled .exe for those who don't compile the source?

-Reaver

jag111
11-02-2003, 01:08 PM
Wouldn't compressing the data to transmit actually increase the processing time on both server and client because the server now has to compress and client decompress the data before it processes it? Compression seems to me that it would only save bandwidth which, one would think, the user doesn't care about because they're most likely running this on a local LAN.

Splitting up the structures that the server sends to the client sounds more reasonable...though I'm still not sure how much of a savings it would be. Assuming that mobs and players usually consist of 90-95% of the data being sent, it might be more trouble than it's worth.

I guess there's only one way to find out though. =)

MQSEQ2
11-02-2003, 02:03 PM
Compression is alot faster when it's done in memory. The problem I see here is say there is 1 Meg of data being transfered to the client, that will take x amount of time. Now compress it to 300k in size and it won't take as long to transmit as well as once the data is in memory it can be uncompressed. This woul also cut done on the number of buffers used to store packets, etc.

If you look at the Sample Ini file I posted you see the data information we can get from EQ and send it to MySEQ once the structures are in place. This will take a little bit of time for me to do since I'm not the best in C#.

I will place the .Exe on the site for those who don't have a complier.

tenable
11-02-2003, 03:17 PM
some things id like to see:

select on consider (like linux seq) helps to make sure you have the right thing targeted

holding(items) i think you mentioned this, would be a very nice addition

Bob the builder
11-02-2003, 06:08 PM
1.15.2 Soucre Code runs very smoothly now. Though the scale isnt on center like 1.14.1

Bob

MQSEQ2
11-02-2003, 06:18 PM
When you say Select on Con do you mean in EQ selecting a Mob then conning the Mb? If so, this version will select the Mob in MySEQ that you have selected in EQ.

If you are referring to just Right Clicking a Mob in EQ then I will have to look to see if there is something we can trap for via the Structures.

As for the Equipment Mobs are holding I have the structure for it but I need to make major changes then will effect both Server and Client. I'm hoping to have it completed in this next week. What I have to find is a lookup chart for the equipment (ie. Leather, Velium, etc, etc.) I have alot of it, I just need to build the Ini system for it.

Bob the builder
11-02-2003, 06:36 PM
When you say Select on Con do you mean in EQ selecting a Mob then conning the Mb? If so, this version will select the Mob in MySEQ that you have selected in EQ.

Yes like in SEQ. But I couldn't get 1.15.2 to select the target I have in EQ and select the target in MySEQ ... But I also didn't compile, I just downloaded the EXE.. ill compile it Monday and try it cause I couldnt do a Help / About either ...

Thinkingof things SeQ has .. select on consider and target, spawn location logs for loc and times, and held or visible items.

Anyways. Looks great, runs well, good job.

Bob

Mixy!
11-02-2003, 09:10 PM
That did the trick MQSEQ2 ! Average proc useage in the past half hour sitting at about 24%. Runs flawless, and i love the new additions. Good job!

-Mixy!

reaver
11-02-2003, 10:08 PM
Yes, the CPU usage is down and running smoothly. When you zoom in now though it zooms into the center of the map instead of the yourself. Small bug tho ;)

Looking great so far now! :)

-Reaver

MQSEQ2
11-03-2003, 05:58 AM
The Zoom is not a bug but a feature. if you hit F5 Center on Player then it will follow the player else it will reset the offset to 0, 0. I will modify the offsets to be the actual center of the map vs 0, 0. Give it a try and let me know.

Time to go to work and work on this ;)

jag111
11-03-2003, 11:36 AM
Finally had a chance to look at and test 15.2. Thank you thank you thank you for cleaning up the code. I had been meaning to do that for so long, but kept getting caught up in adding features. I'd still like to see some of the larger classes that are still in frmMain.cs like Settings and SPAWNINFO moved out into their own cs files for easier maintenance. But that's trivial.

Sadly, it seems most of my changes have been removed and I'll have to re-add them to my own build at the very least, assuming they don't affect the performance too much. And be assured, I'm really glad the cpu utilization is back down to a reasonable level again. Even at 250ms updates, I only ride at around 30%...and if I bump it up to 500ms, it goes down to 17%.

I've already shoved back in some trivial additions like the spawn list gridlines toggle and the spawn list background color settings.

The next thing I'll probably add back in is the "bug" where tool tips still show up when you hover over a spawn on the map that is not being drawn due to a toggle like NPC's off.

reaver
11-03-2003, 12:38 PM
I can appreciate the zoom into center of map being a feature and not a bug, however, why would you want to zoom into the center of the map and not yourself?

I'm just trying to think of reasons why you would want to zoom in, then have F5 to center on yourself.

-Reaver

jag111
11-03-2003, 12:55 PM
The center on yourself feature is a toggle, not just a command.

So when it's on and you zoom in, the zoom stays centered on you. But when it's off, you just zoom in centered on the current center of the map.

Reasons why you would want to *not* center on yourself might be if you've specifically dragged the map to look at a different area and want to zoom in on that particular area...but your character is not in it.

For that matter, we might want to add a Center on Target feature....or rather, Center on Selected......so that whatever spawn you had selected in the spawn list would be what is centered on.

MQSEQ2
11-03-2003, 01:08 PM
Jag - PM me or post you changes and I will add them ASAP. I will be stripping and ripping more as time goes by. I was going to add the Spawn List changes today (Color/Grid Line).

Reaver - I didn't add the orignial Center code but I can make it when you zoom in under 100 the it automatically centers on players as an option. Generally when I play I like to Pan around then Zoom into an area to see things but if I'm on the other side of the Zone I would not be able to do that if I hardcode to do it all the time.

jag111
11-03-2003, 01:39 PM
Here's a zip with the changes. Just minor changes to frmMain.cs and frmOptions.cs and their respective resx files.

http://ck.dvolve.net/EQ/MySEQ/myseq_15.2_changes_jag111.zip

MQSEQ2
11-03-2003, 03:34 PM
Jag I have added your changes as well as breaking out the Structures into a separate file.

I will be placing 1.15.3 on the site later tonight once I get some other features added.

sauron
11-03-2003, 09:06 PM
FYI -- there has always been an issue with the repaint on the map of 1.14.2 being slow (and 1.14.1 working great). See the following thread:

http://seq.sourceforge.net/forums/showthread.php?s=&threadid=4131&perpage=15&pagenumber=4

deda
11-04-2003, 04:44 AM
i hope in the next version there will be an option to turn auto selecting OFF, its annoying being a cleric on raids

sauron
11-04-2003, 05:16 AM
Awesome work on the project!

I wanted to point out that there is still a problem with CON colors. We discussed this is the other thread that I mentioned above. Slartibartfast posted this as his reply (I made the changes in 15.2 and it fixed the CON colors for me -- I am level 65):
---------------------------------
Quote from Slartibartfast:
---------------------------------

I copied the new con colour values from ShowEQ - but need to change a couple of lines of code it seems

for (c = 0; c < level+greenRange; c++) {
conColors[c] = new SolidBrush(Color.Green);
}

for (; c < level+cyanRange; c++) {
conColors[c] = new SolidBrush(Color.Cyan);
}

->

for (c = 0; c <= level+greenRange; c++) {
conColors[c] = new SolidBrush(Color.Green);
}

for (; c <= level+cyanRange; c++) {
conColors[c] = new SolidBrush(Color.Cyan);
}

MQSEQ2
11-04-2003, 06:57 AM
I will add those changes as well as the ability to turn off EQ selection.

Thanks for the input on how to make this project a better program overall. Keep the suggestions comming in and will get them added ASAP.

I will start a new thread for 1.15.3 relaease.