Page 1 of 2 12 LastLast
Results 1 to 15 of 18

Thread: Size of "Self Circle"

  1. #1
    Registered User
    Join Date
    Dec 2001
    Posts
    246

    Size of "Self Circle"

    This may sound stupid or even trivial for most, but I was wondering if there is a way to "Hack" SEQ a little so I can adjust the size of the circle around me. I use it for telling if something is in casting range for Kiting or just to determin safe distance to med while waiting for DOTs/Root to wear off.

    Even if I can get pointed in the right direction I am not really a programmmer but learned a lot about hacking the code keeping my 3.1.x working so if it isn't REALLY hard I should be able to figure out, with a few fingers pointing me in right direction.

    Also is there a way to revert back to the circle without shading in it? I liked the "Ring Only" a little better, that was the major reason I never ran SINS (Sounds stupid but I am like that)

    Thanks in Advance
    ST

  2. #2
    Registered User
    Join Date
    Dec 2001
    Posts
    144
    There use to be two circles at one time.

    I do agree, one to tell if you're within the 200 feet limit would be nice.
    The inner circle use to also be a light grey color. It was the only way I was able to see the black basement lines on the black backgroud in KC.

  3. #3
    Registered User
    Join Date
    Feb 2002
    Posts
    1
    I've made such a change to my code. Tried to figure out how to submit a pitch, but never got a reply.

    The change I made will draw a circle that is pretty much at spell casting distance, but the big change is that it scales with the zoom level of the map.

    Lets see if I can remember.... hmm. It was in map.cpp in a function called DrawPlayerBackground() or something like that. There's a DrawElipse API call (QT?) in there which was hardwired to always draw a circle of a given size. Since the zoom level is easily available info in this function it was easy enough to calculate variable paramters to DrawElipse().

    Sorry if this is all rather obtuse, but I don't have the code where I am and it was a while ago that I did it...

  4. #4
    Registered User
    Join Date
    Feb 2002
    Posts
    115
    problem with the circle being the radius of spell casting or mob agro is they are both variable depending on the spell and the mob. To make agro even worse your level gets factored in the agro radius problem.

    RSB
    RSB

  5. #5
    Registered User
    Join Date
    Jan 2002
    Posts
    1,508
    As does the fact of you sitting/standing.

  6. #6
    Registered User
    Join Date
    Dec 2001
    Posts
    144
    problem with the circle being the radius of spell casting or mob agro is they are both variable depending on the spell and the mob.
    There's no way to program agro radious with the circle.

    Spells do very, however; the majority of the spells, I would say about 80-90% of all spells in game are a 200 feet range radious.

    Just make a static circle for 200 feet, and that can be your most common spell casting range.

    There are spells in a shorter range, but you'll fine that a grand number, if not all, at higher levels is the max 200.

  7. #7
    Registered User
    Join Date
    Dec 2001
    Posts
    246
    Thats exaclty what I was looking for, I would like to make the circle 200 ft and scale with the map.

  8. #8
    Registered User
    Join Date
    Dec 2001
    Posts
    951
    i'd love to see this happen, i always hate that the more i zoom in the more my char's view thing takes up space. it would be great to have that 200ft circle that always is 200ft no matter the zoom.

    love to see just a diff if anyone who did this wanted to.

  9. #9
    Registered User
    Join Date
    Dec 2001
    Posts
    246
    Can any Developers at least point me in right direction and if I get some free time I can try hacking it a bit?

    I think this would be a nice feature to add maybe even an option from the pulldown menu "Scale Self Circle" or something like that.

    Also do you think it would be an easy fix to turn off the shading in the circle? That is the one big thing I disliked about SINS.

    Also what do you call that circle I only called it "Self Circle" due to lack of propper term for it.

    Thanks
    ST

  10. #10
    Registered User
    Join Date
    Dec 2001
    Posts
    31
    ST, here are my changes to the map.cpp src. Getting rid of the pattern in the circle is just a matter of commenting out this line:


    tmpBrush.setStyle(QBrush::Dense7Pattern);

    in the paintPlayerBackground function.


    Scaling the circle was just a matter of multiplying the bounding rectangle scaler by the map zoom. Seems to work, but feel free to tell me if I'm totally off base. I didn't bother to figure out if the scaling factor of 40 is exactly 200 feet or not, seems to be close enough. This diff also comments out the constant white lines to things in your [locate] section. Those were driving me crazy.



    2530c2530
    < tmpBrush.setStyle(QBrush::Dense7Pattern);
    ---
    > // tmpBrush.setStyle(QBrush::Dense7Pattern);
    2533,2534c2533,2541
    < p.drawEllipse (m_param.playerXOffset() - 40,
    < m_param.playerYOffset() - 40, 80, 80);
    ---
    > p.drawEllipse (m_param.playerXOffset() - 40 * m_param.zoom(),
    > m_param.playerYOffset() - 40 * m_param.zoom(),
    > 80 * m_param.zoom(), 80 * m_param.zoom());
    3160c3167
    < p.setPen(white);
    ---
    > p.setPen(red);
    3164,3167c3171,3174
    <
    < p.drawLine(m_param.playerXOffset(),
    < m_param.playerYOffset(),
    < spawnOffsetXPos, spawnOffsetYPos);
    ---
    >
    > // p.drawLine(m_param.playerXOffset(),
    > // m_param.playerYOffset(),
    > // spawnOffsetXPos, spawnOffsetYPos);
    3173c3180
    < p.drawRect(spawnOffsetXPos - 4, spawnOffsetYPos - 4,
    ---
    > p.drawRect(spawnOffsetXPos - 4, spawnOffsetYPos - 4,
    3179c3186
    < if (m_highlightConsideredSpawns &&
    ---
    > if (m_highlightConsideredSpawns &&
    3200c3207
    < else
    ---
    > else
    3216c3223
    <
    ---
    >
    Last edited by pinzmon; 03-04-2002 at 04:29 PM.

  11. #11
    Registered User
    Join Date
    Dec 2001
    Posts
    246
    Thanks a lot. I am going to try and get to this some time this week.

    Busy in REal life righ tnow, and in lvl55

  12. #12
    Registered User
    Join Date
    Dec 2001
    Posts
    246
    Bah... I was out of power all last week and now my power is up and I manually aplied this (I not good with Diff) and recompiled, now my Cable modem is down.

    And I was going to Ding 56 this weekend.

    I think Verant and @home worked out some AntiLVLing code for me.

  13. #13
    Registered User
    Join Date
    Dec 2001
    Posts
    246
    Well i got my cable modem working today. I had to recompile liek this.
    > p.drawEllipse (m_param.playerXOffset() - 20 * m_param.zoom(),
    > m_param.playerYOffset() - 20 * m_param.zoom(),
    > 40 * m_param.zoom(), 40 * m_param.zoom());


    I actually had to recompile after this one didnt work.


    > p.drawEllipse (m_param.playerXOffset() - 40 * m_param.zoom(),
    > m_param.playerYOffset() - 40 * m_param.zoom(),
    > 40 * m_param.zoom(), 40 * m_param.zoom());

    That one was funy, Well 2 tries isnt that bad for a newb.

  14. #14
    Registered User
    Join Date
    Dec 2001
    Posts
    246

    Unhappy

    Well after loggin my main on i realize that it is scaling to the Zone and different from zone to zone.

    Thanks for trying, I am going to play with it some more after I ding 56 I got a new pet that I need to scribe

  15. #15
    Registered User Zaphod's Avatar
    Join Date
    Dec 2001
    Posts
    648
    Actually, to have the circle actually be 200 clicks (for lack of a better term for the EQ unit of distance) you need to start from the number 200 and scale it the same way all other points (including all spawns, player, map lines, etc...) and distances are scaled. so, pulling the appropriate parts out of calcXOffsetI (for speed purposes) you get approximately the following.

    Code:
    int centerOffset = fixPtMulII(m_param.ratioIFixPt(), MapParameters::qFormat, 200);
    // or the slower centerOffset = (int)(200 / m_param.ratio());
    int sizeWH = centerOffset << 1; 
    //  or the slower sizeWH = centerOffset * 2
    
    p.drawEllipse(m_param.playerXOffset() - centerOffset, m_param.playerYOffset() - centerOffset, sizeWH, sizeWH);
    I'm currently working onputting something to this effect into the code, with a runtime configurable FOV distance.

    Enjoy,
    Zaphod (dohpaZ)
    Chief Software Engineer of the Apocalypse.
    http://showeq.doomed.to/
    SourceForge.net user: dohpaz.

    Personal thank you donations are now accepted.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

You may post new threads
You may post replies
You may post attachments
You may edit your posts
HTML code is Off
vB code is On
Smilies are On
[IMG] code is On