Results 1 to 8 of 8

Thread: No list updates?

  1. #1
    Registered User
    Join Date
    Jul 2003
    Posts
    92

    No list updates?

    So I'm not sure when it happened, but at some point with all of these client changes, a change was made that has caused the spawn list information to not be updated anymore.

    i.e. When you first zone in or do a list refresh, you get the current status of all spawns in the zone and all of the columns show the current data at that point in time. But from then on, no updates are made to that data visibly.

    What's interesting is that it looks like we *are* updating the properties of the listitem for each spawn, it's just that updated listitem is never pushed to the actual lstSpawnList control.

    I'm attempting to re-enable this, but the "easy" way is currently doubling the cpu utilization and causing a ton of flicker when the list updates. So I need to find a better way to do this.

  2. #2
    Registered User MQSEQ2's Avatar
    Join Date
    Oct 2003
    Posts
    910
    Look in the:

    private void ProcessPacket(byte[] packet, int bytes)


    Around this code area:


    if (newSpawns.Count > 0)
    {
    lstSpawnList.BeginUpdate();

    ListViewItem[] items = new ListViewItem[newSpawns.Count];
    int d = 0;

    foreach(ListViewItem i in newSpawns)
    items[d++] = i;

    lstSpawnList.Items.AddRange(items);

    lstSpawnList.EndUpdate();

    newSpawns.Clear();
    }

  3. #3
    Registered User
    Join Date
    Jul 2003
    Posts
    92
    Right. That code adds any new spawns to the list. It doesn't do anything to update information for spawns that are already in the list.

    Spawns only get added to that newSpawns arraylist if they aren't found in the mobs hashtable.

  4. #4
    Registered User MQSEQ2's Avatar
    Join Date
    Oct 2003
    Posts
    910
    Yes t checks the HashTable and if not found then will add to list. in that same section it checks to see if the name changes (ie corpse) then it will update the List.

    What are you wanting to update? The X,Y,Z stuff don't get updated in the current code due to the slow refresh I guess. I will look at fixing that if I can.

  5. #5
    Registered User
    Join Date
    Jul 2003
    Posts
    92
    What I'm saying is that even if you did uncomment the code that checks for X,Y,Z,Distance changes, it wouldn't update the visible list...it'd only update the listitem that is part of each SPAWNINFO structure.

    It's ok though. I'm working on it. It falls right in line with the View filter changes I'm working on (which btw, are almost done).

  6. #6
    Registered User MQSEQ2's Avatar
    Join Date
    Oct 2003
    Posts
    910
    Cool let me know when you get them done so I can add them to the source code.

    I know the Spawn List wouldn't get updated but you can look at this code to figure out how it's done:

    // now keep a reference to the listview item to speed up lookups.
    ListViewItem li = mob.listitem ;

    string oldname = FixMobName(mob.Name);
    string newname = FixMobName(si.Name);
    // use replace so that we dont loose the alert prefixes.
    li.Text = li.Text.Replace(oldname,newname);
    mob.Name = si.Name;

    The li.Text will update the actual ListView. If you try this make sure you to use:

    lstSpawnList.BeginUpdate();

    {Your Code Here}

    lstSpawnList.EndUpdate();

    This will prevent it refreshing everytime you make a change and wait till it's all done so it will look very fast.

  7. #7
    Registered User
    Join Date
    Jul 2003
    Posts
    92
    GOOD GOD, shoot me! I have just been on crack the whole time i thought it wasn't updating.

    Originally, I had tried uncommenting the code that would update the X,Y,Z, and Distance columns and it wasn't updating on the list. BUT, I had forgotten there was code that set the X,Y,Z values equal to each other between the new spawn packet and the existing spawn in the hastable. So I spent like 3 hours trying to debug why the X,Y,Z wasn't getting updated before I realized it.

    The only thing left that doesn't work how I would think it would is that when the list gets updated, it doesn't re-sort based on the info that's changed. You'd have to manually reverse sort, and re-sort to get the new sort order.

    However, I realize that in some situations, people may not like the autosorting because the list would jump around to much. So I'll throw a toggle option in there to specify whether you want the list to re-sort automatically when details change in the list.

  8. #8
    Registered User MQSEQ2's Avatar
    Join Date
    Oct 2003
    Posts
    910
    Sounds cool. We need to add the option to bold mobs without using the Alerts. Maybe double clicking or something.

    Also need to add a textbox so folks can enter a mobs name and it adds it to the hunt list (without it being in the Alerts). Need to add a way to Right Click Spawn List and have option to add it to the Zone Alert Hunt/Caution/Rare.

    Once these are added have it to a autorefresh to show the changes.

    These are some of the things folks are currently asking for.

    I spent about 8 hrs trying to convert the SetACL functions and finally found an easier way of doing it.

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