Thanks, I'll add it in.
Thanks, I'll add it in.
Well, there is simple way to record mobs positions for 'roam tracking' without ANY hit on performance. Also, its possible to show tracks on map with only slight performance impact.
Additionally, good thing would be to show with different colors spots where mobs rarely go and spots where they often go.
Something like following picture. Bright red spots are where mobs are often (or stationarry), and range from dark yellow to bright red shows how often spot is visited by mob. You can recognize roamers path as red lines on map , and pulled mobs pathings as dark yellow lines .
hmm... if picture do not show, try this link:
http://lostdummy.topcities.com/poeartha.jpg
Anyway, since I did this for my program, and I dont know how it is implemented for mySEQ, here is suggestion ( how I did it):
- make 2 dimensional array of 1500x800 bytes
- at start of map, divide max width of map into 1500 parts (call it DX) and max height of map into 800 parts (call it DY),
- whenever you draw mob, find in which square it belongs ( divide X pos with DX and add offset... basic math. same with Y)
- increment that byte in array by one (untill it reach 255)
This approach makes no noticeable hit on performance (only few arithmetic operations per mob are used).
When drawing, just do loop thru that 2 dimensional array and where value >0, draw square colored depending on value (like $00003000+ value). This will also reduce number of drawing operations.
You can notice that mob updates are more frequent close to player - either that, or south part of PoeA does not have roamers
Last edited by lostinspace; 06-02-2003 at 11:31 AM.
Just noticed the mobtrail draw routine was inserted twice in the client.
Please remove one of them at your next update:
MapCon.cs
if (Settings.Instance.ShowMobTrails) {
foreach (MobTrailPoint mtp in mobtrails)
{
g.FillEllipse(whiteBrush, -mtp.y*(rawscale*scale)+(offsetx+offsetxg)-2, -mtp.x*(rawscale*scale)+(offsety+offsetyg)-2, 2,2);
}
}
if (Settings.Instance.ShowMobTrails) {
foreach (MobTrailPoint mtp in mobtrails) {
g.FillEllipse(whiteBrush, -mtp.y*(rawscale*scale)+(offsetx+offsetxg)-2, -mtp.x*(rawscale*scale)+(offsety+offsetyg)-2, 2,2);
}
}
I was using the same resolution as the mob drawing, but I see no reason not to reduce the resolution drawing on the trails. It will certainly reduce the size of the array. I also like the difference in the roamers and the pulled mobs. I'll try to get that in also.
I'll make the changes and post them here soon.
Edit:
I found something useful to fill my double post :-)
Last edited by gawker; 06-24-2003 at 12:30 PM.
I get it! A double post about something that's duplicated in the code! Bwahahahaha!
Sorry, slow day at work :-(
There are currently 1 users browsing this thread. (0 members and 1 guests)