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

Thread: New Client

  1. #1
    Registered User
    Join Date
    Dec 2004
    Posts
    284

    Question New Client

    I am working on a client update, and will probably post a beta here for some folks to try before I release it.

    I wanted to know what other things to look at that I may have missed.

    So far I have fixed:
    - Maps now load the _1, _2 and _3 settings all at once, so we can use the maps from mapfiend.net as is.
    - Using the scale and other fields at the bottom of the map now update the map when changed.
    - Reworked the entire con Color formula so it works with the new values. We now have gray, and everything lines up with what you see in-game.
    - Changed version to 1.20.
    Thanks for all the donuts.

  2. #2
    Registered User
    Join Date
    Jun 2006
    Posts
    32

    Re: New Client

    Great news !
    There's always the "TODO" list to look at. As added there :
    * Thin spawnlist (most columns in client spawnlist are not used)
    and possibly:
    * Spawn Points - Save
    and with all these new zones and mobs out there :
    * Add Spawn to Alert file using right click menu item.

    Would love to test the beta =)

  3. #3
    Registered User
    Join Date
    Dec 2004
    Posts
    284

    Re: New Client

    Y'all have to stay tuned here for this one. I wound up overhauling the client. I have done a lot and plan to do more. There was a lot of ugly code in there and I just couldn't let it be.

    The con color system was not as simple as it seems. After running several tests, filling out a new con color matrix and testing several formulas, I have established a new con color system that should work well.

    I have fixed numerous bugs with logging. There are several places where we were allocating resources totally unnecessarily. I am also changing a lot of Options. The code was just far too bloated, and the level of granularity of options was ridiculous. By simplifying a lot of options, I was able to remove hundreds of lines of cut/paste code (and I would doubt anyone used those options anyhow). I also have changed the colors that are used.

    Unfortunately, as I wander thru the code, I see more places where there are bad coding practices, and I feel the need to rewrite that piece. The reason is that, I feel in order for this project to live past me, the code needs to be written as simply and cleanly as possible. Noone is going to want to pick this project up with so much crap and bloat in there. If the code is clean and tight, it is much easier to maintain. If it is filled with fat, ugly, useless options, people are not going to want to touch it. I have a feeling a lot of the cut/paste mentality that I see in this code probably came from Mr Doh and his friends, and there are reasons for my thinking this. Someone needs to read a few books on efficient coding practices. A lot of this code is embarrassing to say the very least.

    Its hard to say when I feel it will be ready, especially with the holiday coming up and I have to leave town for a few days. Of course it won't be two years like some other folks we know. My hope is to drop a beta within a week or so. It will require some new config files.

    I will probably not be working on options that are not used a lot. For example, the whole right-click to quickly add an alert thing is silly, imho. I personally have used the alert tool on a few occasions. It takes seconds to type in a name to the alert file, and we open the file for you. For the amount of effort it would be to add that feature to the code, it seems like it would hardly ever get used (and if it were to be used on a regular basis, it would only be by a very few number of people). For anyone who needs to use the temporary Quick-Find feature, that is what the little box in the lower right corner is for. Type in a partial name there and press Enter to highlight the mobs in the map.

    Thin Spawnlist I might do, because I am all about making the tool snappier. A lot of the crap in the spawnlist is totally useless from a listbox perspective.

    PS: I also have a new server which fixes the problem of partial spawn lists after a hover (or, as it turns out, a shroud).
    Last edited by Seaxouri; 11-20-2006 at 01:32 PM.
    Thanks for all the donuts.

  4. #4
    Registered User
    Join Date
    Dec 2004
    Posts
    284

    Re: New Client

    It will be a little longer yet. I spent a good bit of time on the client before the holidays. Then a tree fell on my house and I had to leave town for vacation. I just got back in town yesterday.

    I have totally reworked the code that updates the spawn list listbox. Thinlist now seems to work. Also, the code is now a *lot* more efficient than it was for updating the listbox before. Currently Alerts and Spawn Timers do not work and need to be updated.

    I have changed Logging drastically. There are only 4 levels now: Off, Errors, Warning and Debug. I also removed all of the function wrapper debug messages. They were tagged as 'Trace' items. This sort of thing is redundant if your exception messages are worded properly. It is also stupid to put the word 'Error' in your exception text, and then throw an Error type exception. The cleaner way to do it is have the Logger pre-pend 'Error/Warning/Debug' to the message text before logging it.

    I have fixed a lot of problems with preferences.

    Several other things. More later.
    Thanks for all the donuts.

  5. #5
    Registered User
    Join Date
    Dec 2004
    Posts
    284

    Re: New Client

    Alerts now work.

    I fixed a major bug in the hash table area. This, I am sure, is what caused some folks to see popups on occasion while changing zone and having the mouse moving over the graphics area. You can recreate this problem by mashing the F2 button over and over again while using the mouse wheel to zoom in and out of the screen. Within a few seconds you should see a popup.

    I added an FPS counter for kicks. I also added one to the v1.19 so I could compare them. Right now, the maximum speed I have seen rendering NOTHING on my fast system is around 43 FPS. I just wanted to see what a typical ceiling might be. Also note that when rendering nothing, we use less than 5% of the CPU.

    On my test system, in an apples-to-apples test. I see v1.19 running at 6-6.5 fps. This is with color maps, in PoK with 400ish spawns to draw. CPU usage is around 85%-95%, with the refresh time set to 1msec (normal is 250msec). The same settings on v1.20 so far run at 8-8.5fps with around 60%-80% CPU usage.

    Basically I optimized the hell out of the spawnlist and the alerts. I have a few ideas how to optimize the map rendering as well. I still need to get spawn timers working how I want them to work also.

    More to come.
    Thanks for all the donuts.

  6. #6
    Registered User
    Join Date
    Jul 2006
    Posts
    27

    Thumbs up Re: New Client

    sounds like its going to HUMMMMMMMM and be very sweet.

    I seen in ur first post about the maps loading all 3 at once, if possible a way to only turn on lables on just one map would be great ( as some form mapfiend have lables on all 3 layers, having 3 sets up at once would be a pain ) so to be able to choose which map lables to use button or w/e, i have no idea whats envoled in coding it or if it can even be done.

    I also vote for right click add spawn to alert list, but i remember reading somewhere you said dont use it or like it, but if poss. you have my vote.

    Spawn list i agree with less is more, all i think is needed is name and lvl or mob, maybe time of spawn for camps like the dreaded SK stupid pain in the ars mage cloak i still havent gotten in 8 months lol.

    Anyway I for one thank you for working and keeping this alive. If I was able or smart enough ( as in only programing i know is old school basic, fortran, cobal etc ) I would love to help, but this old dawg too old to learn new tricks lol.

    Keep up the great work and THNX.

  7. #7
    Registered User
    Join Date
    Dec 2004
    Posts
    284

    Re: New Client

    As for the map layers, I don't think giving options is the right solution. I would rather make the tool smarter and give people less options. Giving people a new option for every little thing only causes more usage problems.

    I use two map sets, Sony's and Mapfiend's. I have not come across overlap when using one of the two. Can you give me an example of where there is label overlap?

    If there is sufficient reason to add more smarts for this, I would probably do it by keeping track of labels added and not add them more than once. For example, if there were a label "Joe's Tavern" in file Zone_2.txt, and a label "Joe's Tavern" in file Zone_3.txt, then I could add smarts where it would not draw both of these (since the x,y coords may be slightly different).

    Any other suggestions where I might be able to intelligently apply or not apply a label are welcome. This is what I am thinking right now:

    It appears that mapfiend's maps have most, if not all, labels in layer 2. Here is a list of some of those entries from Crescent Reach:

    Code:
     
    P 1131, 461, -140, 0, 0, 0, 3, Spells_&_Guild_Masters_(All)
    P 1453, 1262, -91, 0, 0, 0, 2, soulbinder
    P 1596, 1422, 30, 0, 0, 0, 2, Naeema_(alchemy)
    P 2798, 1103, -101, 0, 240, 0, 3, To_Goru`kar_Mesa
    P 2085, 909, -164, 0, 0, 0, 1, Guildmasters
    It appears the numbers are X,Y,Z,R,G,B,L,T where L=Layer and T is the text to display. What I could probably do is, depending on the Zoom level, display labels from just Layer 1, 1 and 2, or 1, 2 and 3 (if the person was zoomed way in). I could also probably discover how cluttered the text would appear at any zoom level, and only display labels that wont clutter.

    I personally *hate* the in-game map with the 1/2/3 buttons. I think it is a lazy solution. I much prefer the google maps approach where more detail is automatically displayed as you zoom in... and I don't think it is that much more coding to add something like that. It's actually more complicated to give people options, and harder to maintain down the road.

    A fellow programmer once told me, K.I.S.S., which stands for 'Keep It Simple, Stupid'. Good advice when programming user interfaces. Most people are fairly simple when it comes to computers. Imagine if your car dashboard looked like that of an airplane cockpit. Most people probably would not be able to drive in that case. So I am all about less options, more smarts... within reason. The other part of the equation is that the last 10% of automation consumes 90% of the coding effort. In other words, you can automate 90% of anything with relatively simple code. The last 10% needs to be available to the user as options. A good example would be if I were to make MySEQ try and do *everything* automatically. It would have to scan the network looking for running servers, then once they were running, automatically zoom in and track the player, automatically adjusting zoom/pan as you walked around the zone. It would also check for CPU usage and auto lower details accordingly. Doing all this is very code intensive, and much better left to the user as options. However, leaving *everything* to options makes the user interface look like an airplane cockpit, which is just as bad.

    FWIW, I have added the ability to attach multiple clients/servers. You still need a client and server running for each instance of EQ, but the server will detect all running EQs and pass a list back to the client. The client then can pick which instance it wants to monitor. The server will auto-bump its port number if the port is in use, so you can run 5 instances of the server from the same folder before it won't run anymore. You will need to point each client to a unique server, and then pick the EQ instance you want to monitor. I think I can add some more smarts such that once you do it once, it will remember and try and smart-attach the next time.
    Last edited by Seaxouri; 12-04-2006 at 10:00 AM.
    Thanks for all the donuts.

  8. #8
    Developer
    Join Date
    Jul 2004
    Posts
    920

    Re: New Client

    Your "L" is the font size. The layer is determined by the file name.

  9. #9
    Registered User
    Join Date
    Dec 2004
    Posts
    284

    Re: New Client

    I would imagine the larger the font, the more important of a label it is. I can probably use that along with the clutter logic to display the labels in a nice fashion.
    Thanks for all the donuts.

  10. #10
    Registered User
    Join Date
    Nov 2005
    Posts
    14

    Re: New Client

    Two features that would really make this rock more (yes it is aready awesome) are:

    1. Allow a configureable height filter (not the default you get with F3 currently)

    2. Save the spawn timer data so we don't have to kill a place holder twice before the timer kicks in. This way after killing a single mob the PH timer wil already know that that spot respawns in X number of minutes.

  11. #11
    Registered User
    Join Date
    Sep 2006
    Posts
    5

    Re: New Client

    I would recommend that you make the con color ranges an additional file if possible that way the next time they increase the levels you can modify just that section to read in color and ranges (if possible of course). That way the entire client does not need upgraded just an ini file or something.
    Last edited by joethemaster; 12-05-2006 at 04:33 PM. Reason: reworded things

  12. #12
    Registered User
    Join Date
    Jun 2006
    Posts
    3

    Re: New Client

    i featiure i would like would be an easy way to mark mobs in new zones as "rare", "caution" or "hunt"


    ps if this is easy to do now some one care to remedy my ignorance :/

  13. #13
    Registered User
    Join Date
    Jun 2006
    Posts
    32

    Re: New Client

    to add new "rare", "caution" or "hunt", hit F7 (or rightclick ->alert-> add/edit zone alerts.
    In the file that opens, enter mob name under which category you want. close/save.
    finito

    Bobster

  14. #14
    Registered User
    Join Date
    Dec 2004
    Posts
    284

    Re: New Client

    Quote Originally Posted by Morgus
    i featiure i would like would be an easy way to mark mobs in new zones as "rare", "caution" or "hunt"


    ps if this is easy to do now some one care to remedy my ignorance :/
    Yes, it's basically;

    1) Press F7 to open zone specific file in Notepad
    2) Add desired name or partial name
    3) Save and Closed Notepad
    4) Press F6 to reload the file you just changed
    It takes all of 10 seconds to add one.

    Other things you can do are:
    1) Type partial name in 'Lookup' field in lower right corner
    2) Press Return
    3) Matched spawns will highlight and blink
    This is sort of like a temporary Alert.

    Another thing you can do is push Shift-LeftClick on the map to mark a dashed-line to any point on the map. Not sure how useful this is, but I found it in my travels.
    Last edited by Seaxouri; 12-06-2006 at 08:31 AM.
    Thanks for all the donuts.

  15. #15
    Registered User
    Join Date
    Jul 2006
    Posts
    27

    Re: New Client

    ive been checking some lables in the maps, and i see why some have 2 and 3 copies of the same names etc, layer 1 will have a few from sony, layer 3 from mapfiend, and now the layer 2 from mapfiend, i mapfiend had a problem with the database awhile back and posted link for all layer 2 lables, not sure what layer you download atm for maps from them as there site is down.

    i notice tho in the client that most maps it loads is layer 3 while like i said lables are in 2 atm on a few zones ( mostly tss ive downloaded ) but if Mapfiend is still giving us maps in layer 3 and lables in layer 2, dunno how that will work.

    Far as double zone lines etc also checked on it, like gfay had sonys in 1, mapfiend in 3 with lables also so im getting double print slightly off on mapdraw ( i can work with it tho in zones that do that by editing the files no biggy)

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