EQ Companion / Version History

??/??/03 - EQ Companion 0.8:  
EQ Companion 0.8 has several major new features.

  • Upgrading information:

    EQ Companion 0.8 uses a new type of text box called Rich-text box. Because of this, you should download and install the provided RichText.ZIP file.

  • Bug fixes:
    1. Fixed a problem with getting character name from the log file name if your server number was divisible by 10
    2. It is now possible to pick more than 7 days from the date picker control in the stats window
    3. Beastlord warder damage combining works now with all Beastlords, not only if you are one
    4. Fixed an overflow bug when combining large number of fights. If the total number of hits & misses exceeded 32,767 you would get error message.
    5. Fixed a bug in delay calculations. It used to be 10 * Duration / (DelayHits -1) and now it is 10 * (Duration – 1) / (DelayHits -1)
    6. 2/4/03 patch changed the critical message from ‘Scores a critical hit!(nnn)’ to ‘scores a critical hit! (nnn)’. Changed code to work with both
    7. Added code not to include platinum looted from your own corpse in the total platinum looted counter
    8. Fixed ‘Subscript out of range error’ when a fight started with a taunt
    9. Fixed 'error 11' bug when clicking on the 'Start' column of the items table to sort the fights-table
    10. Sorting the fights-table by 'End' column would sort the fights incorrectly if your fights spanned over midnight
    11. Fixed the name of Jewelry Making skill. It used to be 'Jewellery'
    12. Added baking to the list of skills


  • New features / enhancements:
    1. View log lines per fight:
      • The fights detail window has now 2 tabs, Fightdata and Log messages
      • In the new Log messages tab you will see all the log messages from the beginning of the selected fight to the end including faction hit messages that happened after the last kill and also all the loot messages that happened after the kill
      • At the botton of the window you have the following controls:
        • Hide fight : Hides all the normal damage and miss messages. Your damage is printed in dark red, damage to you is in red.
        • Hide chat : Hides all the chat messages. These lines are printed in blue.
        • Hide ignored : Hides all log lines EQ Companion has no code for. These are spell casting, etc. messages and they are printed in black.
        • Hide rest : Hides all the rest of the log lines that do not fall under the 3 categories above. These lines are printed in green.
          • The number in parenthesis tells how many of these lines the current fight has.
        • Click & Hide : When you click on this button, it turns yellow. You can then selectively hide similar lines from the log. For example clicking on 'Your attempt to disarm failed.' line will hide every occurrence of this line. You can hide as many sets of lines as you want. The number in parenthesis tells how many sets of lines you have hidden.
        • Undo Click & Hide : Clicking on this button undo's the last Click & Hide set of lines. You can keep clicking on this to undo all the Click & Hide sets of lines
        • Hide lines with :  You can enter phrases in the empty box separating them with comma and when you click on this button, it will hide every line that had one of the phrases. The phrases are non-case sensitive
        • Show lines with : Like above except it will hide all the lines except these. For example if you enter "you slash, you try to slash" in the search box and click on this button, you will see only your hits & misses from slash.
        • Lines hidden : Shows total number of hidden lines from Click & Hide and Hide lines with or Show lines with operations
        • Show empty seconds : The log lines list shows all the lines with same timestamp with same background color so you can easily see all lines that happened during the same second. If there are any seconds with no log lines, they are skipped by default. When you enable this option, the 'empty' seconds will also be included in the list. It is really handy after you have filtered out a whole bunch of lines to see the relative time position of the log lines
    2. Triggers list:
    3. Items database:
    4. Faction hits tracking:
    5. 3 user-definable item database search buttons:
    6. Save unsaved data-dialog:
    7. DoT damage tracking:
      • Added code to parse the new DoT damage messages that went live on the text server around May 20 2003 and on the live servers on June 11 2003..
    8. Other people's DD damage:
      • June 11 patch added log file messages for other people's direct damage spells. Added code to track this.
    9. Improved heal tracking:
      • June 11 patch enhanced heal tracking in the log file. It now shows who healed you and also for healers it shows how much you healed other people. Added code to track this new information.
    10. Exporting in non-HTML:
      • You now have an option to export the fight details table in raw-ASCII. The table is build using characters line '-' and '|' and if you view it using a mono-spaced font like Courier, it will line up perfectly
      • The preferences dialog has settings where you choose the format
      • The Export tab has 2 sub-tabs, 'HTML' and 'Raw text'
      • In the future I will add options to export the tables using BBCodes, EZCodes, CSV, etc. formats as well.
    11. Added one more chat channel for the new Raid channel. It works the same way as the others
    12. Renamed the 'non-melee' list to be 'Weapon procs'. EQ Companion will copy the old NonMelee.DAT file and call it WeaponProc.DAT
    13. Re-assigned some keyboard shortcuts. Ctrl-C used to switch to the statistics table and Ctrl-X used to go to the Item Xref table. Since Ctrl-C is used for copying and Ctrl-X for cutting, I assigned new keyboard shortcuts for them
    14. Added tracking of taunt. It is now listed as a separate line in the fight detail window. The ‘Hits’ column tells how many time you taunted and the ‘Dly” column tells at what speed you were taunting
    15. Added reporting of missed hits because I was stunned
    16. The preferences dialog's HTML columns settings will now also determine which columns your Fight detail table shows
    17. Added tracking of raid experience in the stats-page
    18. Added tracking of the /played command. The stats page will report how many days ago your character was born, how many days you have played and tells the percentage of played time
    19. Added menu option to clear all fights.
    20. Added one more continent type for the new Ykesha expansion
    21. Added error trapping code in the log file polling procedure. Now if it encounters an error while polling the log file, it will give information dialog about it and suspends log file polling instead of crashing
    22. The date picker control in the stats page now works properly. It used to only affect parsing of fights and the end-date was not honored. Now when you select a date range, EQ Companion quickly scans the log file until it hits your start date and it will quit parsing when it hits the end date.
    23. The filtering flags in the stats page now work even while parsing on-line. They only used to work when parsing off-line.
    24. Added support for Paladin's Slay Undead special attack. It works same way as critical hits. I.E. the damage shows on the 'slash' line for example but under it it shows new line '- slay undead'
    25. Added code to figure out how many items you sold if you sell a stack of items. There are new '# Sold' and 'Unit price' columns in the 'Sold' table


10/19/02 - EQ Companion 0.71:  
EQ Companion 0.71 has a fix for a bug that only affects some non-English versions of Windows. It is only available as executable-only ZIP file.

  • Upgrading information:

    There is no reason to upgrade 0.7 to 0.71 unless you are getting 'run-time error 5, invalid procedure call or argument' error message at startup. If you have version 0.6 or above, you can just download the 250kb file and unzip it on top of your existing EQCompanion.EXE

  • Bug fixes:
    1. In non-English regional settings if the decimal separator symbol is a comma, EQC will give 'run-time error 5, invalid procedure call or argument' error message at startup. This was because the new 'window split' INI file setting was saved as a decimal number and the comma caused EQC to only read the integer part which was always zero. The window split is now stored as percentage so this will not be an issue any more.
10/17/02 - EQ Companion 0.7:  
EQ Companion 0.7 has some nice new features and of course some bug fixes. It is only available as executable-only ZIP file.

  • Upgrading information:

    If you have version 0.6 or above, you can just download the 250kb file and unzip it on top of your existing EQCompanion.EXE

  • Bug fixes:
    1. If you parse an old log file and it ends with an incomplete fight, EQ Companion would announce the DPS if this feature is enabled. DPS announcing should only happen when monitoring active log files
    2. The 'End fight after inactivity of' setting was broken. It would not do anything unless the 'Continue fight if new activity in' setting was set to zero. Now it works as intended
    3. Opening a log file from the MRU menu did not move the log file name at the top of the MRU list as it should have
    4. Verant had changed the log file message when you miss a hit because you cannot see your opponent. It used to be 'You can't see your target from here' and it is now 'You cannot see your target'. EQ Companion will now check for both
    5. EQ Companion had a small error in the way it calculated the duration of a fight. If a fight starts at 12:00:00 and ends at 12:00:10, EQ Companion would set the duration to be 10 seconds. This is incorrect as the correct duration should actually be 11 seconds. This can be easily proven by this example: Let’s say you have a weapon that always does 10 damage and it swings every second. If it swings 3 times, the start time would be 12:00:00 and end time 12:00:02. If fight duration was calculated as 2 seconds, the weapon DPS was (3x10) / 2 = 15 which is incorrect. With 3 seconds duration, the DPS is (3*10) / 3 = 10 which is correct.
    6. Misses because mob was out of reach or out of sight were counted as normal misses in the Hit% column. Now they are not counted at all. The reasoning is because Hit% is supposed to show how often you can potentially hit a given mob. If you miss because you are facing wrong way or if you are too far away, these are typically not because of your weapon skills but because you are not paying attention to playing. Of course there are some mobs that use knock-back spells and you end up being too far away because of this
  • New features / enhancements:
    1. Added code to handle EverQuest's "double-miss" bug. You can read all about it on this page
    2. Ability to combine multiple fights into one:
      • There is now a 'Sel' column in the fights window which has a checkmark if the fight is selected
      • If you hover your mouse pointer on top of the row number column, the hovered row will be highlighted. If you click on the row number column, the row will be selected
      • You can click on the row-number again to unselect the row
      • You can click on the row-number column and drag the mouse up/down to select or unselect multiple rows at once. If you initially click on a selected row, you will start unselecting and if you initially click on an unselected row, you will start selecting
      • There is also a toggle button at the bottom of the window that you can use to select all fights or clear all fights.
      • There is a new button 'Combine' that will combine all the selected fights. Next to the button there are 2 text fields that show how many fights you have selected and what is the combined fighting time.
    3. Ability to sort the fights-table
      • You can sort the fights table by up to 3 columns.
      • There are small red symbols that show the sort columns
      • If you click second time on an already selected column, the sorting will be reversed
      • If you click on the row-number column heading, all sorting will be reset
      • You set the primary sort column by clicking on a column heading
      • You set the secondary sort column by shift-clicking on a column heading
      • You set the tertiary sort column by control-clicking on a column heading
      • For example if you set the primary sort key to be mob's name, secondary to be 'max hit' column and tertiary to be 'mobs damage taken' column, the list will show all 115-hitting sun revenants grouped together with the ones that took most damage being at the bottom of the list. This way you can easily choose fights against similar mobs and combine them
    4. Renamed the 'Class specific' tab in the preferences dialog to be 'Fight parsing'. It has now all settings that relate to how fights are parsed.
    5. Added settings in this menu for 'non-fights'. You can now choose what you consider a non-fight. The options are:
      • Minimum damage done by me
      • Minimum damage done to me
      • Minimum fight duration
      • If I did not participate in the fight at all (I.E. no damage messages from / to me)
    6. Removed the 'Damage taken' column. I am now showing this number in the title row next to the fighter name. I thought it was wasteful to have a full column in the table for just this.
    7. Added option to specify Allakhazam's character ID in addition to Magelo's. This information is used to create the link from your character name in the HTML tables
    8. Added 'Reset loot' button in the 'Loot' window. This is for people who master-loot and want to reset the accumulated platinum looted counter
    9. Various speed enhancements. EQ Companion 0.7 is about 25% faster that 0.64
9/21/02 - EQ Companion 0.64:  
EQ Companion 0.64 has some new features and couple of bug fixes. It is only available as executable-only ZIP file.

  • Upgrading information:

    If you have version 0.6 or above, you can just download the 232kb file and unzip it on top of your existing EQCompanion.EXE

  • Bug fixes:
    1. Parsing fights with more than 50 fighters would crash the program
    2. If total fighting time exceeds 11 hours, EQC would crash. Fixed that (would only happen with doctored log files)
    3. Changed the old 'binary mode' code which I did to evercome some corrupt log files. EQC should now be able to cope with such corrupt log files (ones with EOF characters in it) more gracefully and completely transparently to the user.
    4. I used to have PNG (Portable Network Graphic) as a valid file format for map files. It does not work so I removed it. The only valid file formats for map files are JPG, BMP and GIF
    5. If you entered a PvP arena, EQC would change the active zone name to be 'an arena (PvP) arena'. Now it knows better
    6. VI changed the name of the log file from 'eqlog_nn_xxxxxx.txt' to 'eqlog_xxxxxx_nn.txt' a while back (nn is server number and xxxxxx is player name). EQC was using the file name to figure out the player name (among other ways). Now it works with both types of file names
    7. Fixed a bug in Delay calculation which caused the Delay to be calculated too small (The shorter the fight, the larger the error; ~2 minute fight caused an error of about 1 Delay point). The old formula was basically (10*Seconds)/(hits) and the new and correct formula is (10*seconds)/(hits-1).
    8. Fixed various aesthetic bugs, most dealing with opening multiple log files in a row.
    9. Fixed a bug where sometimes when you edit zone names in the maps-table, the newly edited zone name will overwrite another zone name as well
    10. Fixed a potential bug where non-English OS users running Windows-NT could not save their preferences settings.

  • New features / enhancements:
    1. Added some new easier and faster ways of opening log files:
      • MRU (Most Recently Used) menu:
        • Remembers 10 last opened log files and lists them with the last opened file first
        • Remembers if the file was opened as active file (I.E. for real-time monitoring) or as an old log file (currently the only difference is active log files honor the 'Skip to end of file when opening active log file' flag)
        • Added 'Reset MRU-list' menu item to the Settings-menu
      • Smart-open
        • When you open an active log file (I.E. for real-time monitoring), EQC now remembers the name of the PC where it was opened from (or local PC if EQC is running in same PC as EQ), the directory where the log file was opened from and the player name
        • If you have multiple computers and multiple accounts, EQC will learn the PC names and player names and will build a menu structure that allows you to just choose the PC name and from it, the player name
        • This feature is most useful for people who play multiple characters on multiple PC's. Using these new menu's it is really easy to switch between characters.
    2. Search capability to chat channels:
      • You can enter up to 10 comma-separated words / phrases in the search field
      • When you tab out from the field (or click outside the box), all the chat lines with the search words/phrases will be highlighted with yellow background
      • The text field 'Hits:' will show how many hits were found
      • The 'Audio Visual' tab of the preferences dialog has new checkmark 'Chat search alerts' which, when checked will cause EQC to alert when the search word was found during active monitoring. This way you can for example join your server's auction channel and enter 'yak, ykesha, ssoy' in the search dialog and forget about it. If someone auctions for Yak, you will get audible alert.
    3. Various speed optimizations. EQC 0.64 should be about 40% faster than 0.631 (Still a far cry from YALP...)
    4. Skills-table enhancements:
      • Each player's skill levels are stored in a separate data file (playername_Skills.DAT)
      • The skills-table lists all skills by category: Combat, Arcane, Trade Skills, Language Skills, Other Skills
      • When EQC sees a skill increase message, it will record it in the table and will record how many skill increases you have gained this session. If you have turned on speech, it will announce how many skills you have gained this session as well
      • There are 3 radio-buttons at the bottom of the skills-window: Show all, Hide unknown and Hide non-active
        • Show all : Shows all skill categories
        • Hide unknow : Hides skill categories EQC does not know your current skill level for
        • Hide non-active : Only shows skills you have gained points in during this session
      • The skill category which received the last skill increase is written in red (like before)
      • The skill table lists the date when you received the latest skill increase. If you happen to open an old log file which has a skill increase in it for lower skill level than the one already recorded, the old skill level and date will be retained but the "+Inc" column will be added to so you will know how many skill increases that particular log file had in it.
      • The status bar at the bottom of the window shows total number of skill increases this session
    5. Added menu option to open multiple log files. This was mainly added to easily read in all old log files to populate the skills table (Hint: If you use this, be sure to check the 'Ignore all chat', 'Ignore all loot' and 'Ignore all fights' options in the stats window to make EQC read the files faster). To open multiple log files, click on the first file and shift-click on the last, and/or Ctrl-click to select/deselect individual files. When EQC is reading the files, it will tell in the status bar how many files of total number of files it has processed
    6. Moved the 'Hide non-fights' menu item to be a check-box in the fights window
    7. Changed the Beastlord's 'Combine warder' code to work with all pet classes. EQC will know your pet's name because pets now tell you 'Attacking a wurm, master.' when you send them to battle.
    8. Changed the keyboard shortcuts a bit. I used to have F1-F7 for all the message channels and F8 would toggle the map window. When I added the 8th message window for the new chat channel, it should have logically had F8. I now made F8 to activate the chat channel window and F9 will toggle map window. I also changed the keys to suspend polling and suspend /LOC from DEL and Shift-DEL to F11 and F12. Del button is useful when editing the search field and while entering data in the various tables.
    9. Added option to speak out load your DPS at the end of the fight. It is enabled with the 'Announce DPS at the end of fight' preferences setting in the Audio Visual tab.
6/9/02 - EQ Companion 0.631:  
EQ Companion 0.631 is a small patch. It is only available as executable-only ZIP file.

  • Upgrading information:

    If you have version 0.6, 0.61, 0.62, 0.621 or 0.63, you can just download the 207KB file and unzip it on top of your existing EQCompanion.EXE

  • Bug fixes:
    1. When I added support for assassinations and finishing blows I broke the old non-melee list's special attacks. They would work OK when monitoring an active log file but if you would open an old log file or even browse old fights while monitoring active log file the special attacks would be ignored.
6/9/02 - EQ Companion 0.63:  
EQ Companion 0.63 has numerous bug fixes and some quite useful new features. It is only available as executable-only ZIP file.

  • Upgrading information:

    If you have version 0.6, 0.61, 0.62 or 0.621, you can just download the 207KB file and unzip it on top of your existing EQCompanion.EXE

  • Bug fixes:
    1. /calm emote caused an error. Fixed that
    2. You were not able to use root level directory successfully as your assigned maps-directory. For example if you have a shared directory called M:\ and you wanted to use it as your maps-directory. EQC would eat up the first character of each file name. It works OK now.
    3. Fixed a bug if the size of the HTML file EQC generates would exceed 64KB.
    4. Updated the link to Allakhazam's search engine in the Item Xref table.
    5. Fixed a bug where healing outside a fight would cause a 'fight' to start.
    6. Fixed a bug in the 'Continue fight if new fight messages' slider. It was not possible to set it to more than 59 seconds even though the slider went to 120 seconds.
    7. Fixed a bug where the search strings specified in the 'non-melee' list would cause a division-by-zero error messages
    8. Any chat message which was not in Common Tongue were ignored. They are now shown OK. This is particulary useful in Firiona Vie server where Common Tongue does not exit.
    9. Fixed an annoying refresh of the chat windows when there was a new message in some other chat channel than the active one.

  • New features / enhancements:
    1. Beastlords can now combine the damage they do with the damage their warder does. Warder's kick for example shows in 'kick / warder' damage line in the fight data window. This option is set in the new 'Class specific' tab of the preferences dialog.
    2. The map inside the map-window is now shown always at the top of the window to make sure it overlies the control panel as little as possible
    3. Added a file name template to the preferences dialog. This is used when opening an old log file. If you keep your old log files organized in a separate directory and their file name follows certain convention, you can specify a template for your file names here. Note that when you open an active log file, because the file name is always eqlog_nn_xxxxxx.txt, the hard-coded template 'eqlog_*.txt' is used
    4. Added 'Magelo id' field in the preferences dialog. If you specify it, the link in the HTML table for your name will link to Magelo instead of Caster's Realm
    5. Added support for assassination and finishing blow. These special abilities both produce damage message for about 32,000 points of damage and because of it, they totally skew the average DPS. The preferences dialog has a new tab 'Class specific' where you can make EQ Companion ignore these attacks. These attacks are listed in their own rows in the fight detail window, a lot like critical hits and crippling blows. The stats page also lists how many assissinations and finishing blows were recorded in the log file.
    6. Added another option in the preferences 'Skip to end of file when opening an active log file'. This will make EQC skip straight to the end of file and ignore all the old log lines when you use the 'Open active log file' menu command. If you have a 100MB log file, this option will be a life saver! Note that if you use this command, the initial 'You have entered xxxxxx' message might be skipped as well and because of this EQC does not know which zone you are in. You can use the'/who' (or just a '/') command and providing your maps list knows the 'who-name' for your current zone, EQC will know where you are.
    7. Added ability to specify an 'Auto-Load Log File'. If you only play 1 character, the log file name you open from your EQ computer will always be the same. When you tell EQC this file name (in the File Locations-part of the precerences dialog), and you use the new 'Open Auto-Load Log File' menu command, EQC will automatically open this log file without showing the File-Open dialog. This is specifically useful when used in conjunction with the new 'Skip to end of file when opening an active log file' command.
    8. Added a 'Percent done' counter to the status bar when EQC is re-generating the fight detail window. For major fights this can take a while and it might seem like EQC had crashed while it was re-generating the fight details.
    9. Added "Suspend polling" and "Suspend /LOC" menu commands. These are especially useful if you run EQC on your EQ computer. "Suspend polling" will suspend EQC from polling the log file. If you are in a big fight, EQC might slow EQ down and you can use this to suspend EQC. After the fight is over, you can re-activate EQC again and it will continue where it was suspended and parse the fight. "Suspend /LOC" will suspend tracking the /LOC command and hence the mapping support.
    10. Added option for bow hits. So far bow hits were recorded twice in the fight detail because they produced 2 messages, one for 'non-melee' and another for 'hit'. Now you have an option to ignore the 'hit' message. If you check the "Assume 'hit' messages are bow hits" option, whenever EQC sees a 'hit' message, it checks if there was a 'non-melee' message within the past 2 seconds for the same amount of damage (sometimes lag cause them to be recorded at different timestamps) and if it finds one, it will ignore the 'hit' message.
    11. Added 'Zone' and 'Language' columns to the chat channels. Added check-marks to hide these columns as well.
    12. Fixed an overflow bug if the number of fight messages exceeded 32,767
    13. Added 8th channel tab for the new chat channels. It shows individual channels in their own color. There is also a column for the channel name which you can hide.
    14. Added setting for maximum number of chat messages to store per channel. When the maximum number of messages is exceeded, the oldest message is deleted when a new message is added. The default value is 1000 messages.
    15. Added support for timing melee disciplines. When you use the /discipline command and EQ reports how long it will be until you can use a discipline, EQC starts a timer at the lower-right corner of the screen. Added menu items to hide this and to reset the timer. When the timer reaches zero and you have speech enabled, it announces it.
    16. When you get a skill increase and you have speech enabled, it will now also tell how many increases you have gained this session
    17. Added tracking of group member loot. The loot table now has column for the person's name who looted
3/28/02 - EQ Companion 0.621:  
EQ Companion 0.621 is a small patch. It is only available as executable-only ZIP file.

  • Upgrading information:

    If you have version 0.6, 0.61 or 0.62, you can just download the 193KB file and unzip it on top of your existing EQCompanion.EXE

  • Bug fixes:
    1. EverQuest seems to have a bug where sometimes when players use the '/yell' command, the 'soanddo yells for help behind you' message gets corrupt in the log file. The player name is replaced with garbage characters and one of those garbage characters can be hex 1F which is ASCII End-of-File character. Since EQ Companion is reading the log file in ASCII mode, this EOF character will be interpreted by Visual Basic as end-of-file but since the file actually does not end there and EQ Companion tries to read past this EOF character, you will receive run-time error 62 which is 'Input past end error'.

      I have fixed this problem by adding code to close the log file and re-open it in binary mode if the 'Input past end' error happens. Reading the log file in binary mode seems to be about 33% slower so the file will only be opened in binary mode if this corrupt log line with EOF character in it is encountered.

      When this situation happens, you will get a dialog which explains what happened and there will be a short pause when EQ Companion is skipping through the lines it has already read in and processed.
    2. Fixed an overflow bug that happened if a single fight lasts for more than 53 minutes (3276 seconds). Typically fights would never last for more than 53 minutes but you could create a fake log file that would have many fights combined in order to get more accurate damage measurements.
    3. Fixed a problem where if you create the HTML file more than once, the HTML tables would get appended with each other in the clipboard.
3/22/02 - EQ Companion 0.62:  
EQ Companion 0.62 is a small patch. It is only available as executable-only ZIP file.

  • Upgrading information:

    If you have version 0.6 or 0.61, you can just download the 192KB file and unzip it on top of your existing EQCompanion.EXE

  • Bug fixes:
    1. EverQuest had a bug for about a month where all the faction message lines you get after you kill a mob or complete a quest, etc. would be printed in 2 lines in the LOG file. The line was not split with the normal Carriage Return + Line feed (CR + LF) characters, but only with a CR. This caused an internal counter EQ Companion is using to get offset which in turn would cause it to report every line as corrupt line and basically would just stop parsing lines properly.

      The 3/19/02 patch to EverQuest fixed the faction lines but if you would try to parse an old log file with these corrupt faction lines, EQ Companion would ignore 1 byte from the end of file per each faction message I.E. if you had 327 faction messages, the last 327 bytes of the log file would get ignored. Also, if your active log file had these bad faction lines, chances were you would not be able to parse the active log file at all because every line would be reported erroneously as corrupt line.
    2. Adding 101st map would cause EQ Companion to crash. I have now increased the number of maps to 500 and also added error checking code that will not crash the program if you try to add 501st map but will rather give an information dialog telling you that 500 is all you can have.
    3. Found one more instance where 'tries to' would cause EQ Companion to give an error dialog. If there was a chat message that would have 'tries to' and after that only 1 more word, you would get an error dialog. Fixed that.
    4. Fixed a bug where under some rare circumstances the percent-done counter would become 101% and that would make EQ Companion crash. It does not crash any more.
2/22/02 - EQ Companion 0.61:  
EQ Companion 0.61 is a small patch. It is only available as executable-only ZIP file.

  • Upgrading information:

    If you have version 0.6, you can just download the 192KB file.

  • Bug fixes:
    1. When I added some speed optimizations, I accidentally broke the status panel's character level panel. It works again.
    2. Fixed a bug where sometimes EQ Companion would not start up any more. It would get an overflow error reading in the INI file. This happened because under certain circumstances the window coordinates that got saved in the INI file would be set to a large negative number.
    3. Fixed a bug where under certain circumstances the HTML table would show 'hidden' columns.
    4. Fixed a bug with non-melee damage tracking. You might get 'division by zero' error message under certain circumstances

  • New features / enhancements:
    1. Added new feature to the map window. Currently when you have map loaded and you press F4, it will shrink the map window to fit your map. Now if you press F4 second time within 2 seconds, it will scale the map window to use the map's actual pixel size. If you are using maps that have grid lines that are just 1 pixel wide and the map window is scaled down, you might not see all of the grid. Fitting the map window to actual pixels will help then.
    2. If you specify a date range before opening an old log file and you have the 3 ignore-flags (ignore chat, ignore loot and ignore skills) checked, the program will now zip through the log file until it reaches your start date. Note that if you only specify one date, I was able to simplify the code even more. Basically if you specify single date, it will zip thourg the log file about 3 times faster compared to specifying date range.
2/16/02 - EQ Companion 0.6:  
EQ Companion 0.6 has a major new feature. It adds support for the /LOC-command. You are now able to assign map images to zones and once you have done that, when you use the /LOC command, EQ Companion will pop up the map and show where you are on it. If you keep using the /LOC command, it will draw a trail of dots. It will also show your running speed and the direction where you are heading.
  • Upgrading information:

    1. Since the program name has been changed from EQLogMonitor to EQ Companion, the cleanest way to install 0.6 version is to uninstall EQLogMonitor (using the 'Add/Remove Programs' control panel) and download the full installer and install it from scratch
    2. EQ Companion (or EQLogMonitor) has never put anything in the registry (apart from what the Visual Basic Installer might have put there for uninstall information) so you can also just rename your 'EQLogParser' directory to be 'EQ Companion' and just place the new executable there. You can even leave the directory name intact if you do not want to keep it consistent with the program name.
    3. The NonMelee.DAT file has changed as I had to add the spell name in it to support tracking of weapon proc resists. Because of this you should delete the old file before running 0.6. If you have added new records to this file, you will have to add them in manually again

  • Bug fixes:

    1. Fixed several error situations where emotes contained phrases I was looking for. These all resulted in 'Invalid Procedure call or argument' error.
    2. Fixed a bug where the program would crash if you would try to switch to different tab while the program is reading in a log file. Now it is not possible to leave the Stats-window while a log file is being read in
    3. Fixed a minor sorting bug where the Fight Detail window would be sorted incorrectly if you never hit anyone but you are hit by someone
    4. Fixed an overflow bug if your total fighting time exceeds about 9 hours (32767 seconds)
    5. Fixed the 'Lines per second' counter to work even if you open multiple log files
    6. Fixed a bug with modifying the non-melee list. None of your modifications would be saved on disc. Adding more items would work, though. Now modifications are stored as well
    7. Fixed another Fight Detail window's sorting bug. Sometimes rows for attacks that had exact same amount of damage would be sorted incorrectly.
    8. Fixed yet another sorting bug in the Fight Detail window. Sometimes critical rows were sorted incorrectly.
    9. Fixed an overflow bug when you receive more than 32000 platinum as loot or as split

  • New features / enhancements:

    1. Mapping support:
      • Added support for the /LOC command. You are now able to assign map files to zones and set the scale for the maps. After that when you use the /LOC command, EQ Companion will pop up the map and show a marker at the position where you are
      • Added support for running speed calculation as well. If you use the /LOC command twice while running, EQ Companion will show how fast you are running. The longer you run and keep using the /LOC command, the more accurate the running speed calculation is.
      • The marker on the map will also show your running direction if you use the /LOC more than twice within 5 seconds
      • The preferences form has one more entry in the 'File locations' tab where you can designate where you keep all your map files. If you use the /LOC command in a zone you have not assigned a map yet and the Maps-directory has a file with the exact same file name as the zone name is, the map will be automatically loaded and assigned to the zone.
      • EverQuest is not too consistent with the zone names it uses. When you zone in, you will get a message 'You have entered Western Plains of Karana' for example, but when you use the /WHO command, it will say 'There are 5 people in West Karana'. EQ Companion uses the zone names that you see when you zone in. It will also automatically keep track of the zone names used by /WHO command so if you start logging after you have zoned in, you can just issue a /WHO command and EQ Companion will know which zone you are in.
      • Once the map file is loaded and displayed, it will have to be 'trained'. You click somewhere on the map and let the program know what the EQ coordinates for that location are. Once you have done that for two places (preferably from opposite corners of the zone to maximize accuracy) the scale for the map is set and it is ready for use. Obviously if the map does not have coordinates printed on it, this will be difficult to do. Luckily pretty much all the maps you find do have coordinates on them.
      • An alternate method of training a map is by actually moving to a known place in the zone and using the /LOC command. After that you can open the map window and press 'Loc 1' button in the 'Map training' frame. The program will then instruct you to point on the map where you are. After that you should move to another known position in the zone, once again, preferably some distance diagonally from the previous place to maximize accuracy, and press 'Loc 2' button. After you have pointed on the map where you are, the map is trained.
      • It is possible to assign multiple map files per zone. EQ Companion will automatically use the most suitable map. For instance if you have 2 separate map files for 2 separate parts of the zone, when you move from the area of the first map to the area of the second map, the map will change automatically. Also, if you have more detailed map of a part of the zone (E.G. Firiona Vie city) and a general map that shows the whole zone including the area with the detailed part, EQ Companion will automatically use the map with most detail
      • If you do not have a map available for your current zone, the program will draw your location in the middle of an empty screen and when you keep pressing /LOC it will draw markers as you go. That way you can easily see which direction you are running.

    2. Speech support:
      • If you have Microsoft's Speech API loaded, EQ Companion will use it in certain places. Windows XP has speech API built in, but older versions of Windows need to install it separately. I have placed links to the installer in the downloads-page. The installer file is about 70MB.
      • The Preferences-dialog's Audio/visual tab has controls where you tell how speech is used. It also has 'Test speech' button. Speech will be disabled by default. It will only be enabled after you have successfully tested it. You can do this just by pressing the 'Test' button. If you hear speech and the program does not receive an error, speech will be available.
      • The voice, pitch, etc. are Windows defaults. When you install the package, you will get a new control panel where you can change them.
      • Speech is currently used in the following places:
        1. Map training instructions
        2. When your skills improve
        3. Warning if invisibility, levitate or enduring breath is about to expire (levitate and enduring breath do not give warnings any more but if Verant enables them in the future, EQ Companion will speak them out.)
        4. Warning when the above actually expire
        5. When invisibility drops, it will also tell how long invisibility lasted

    3. Added one more menu-command in the 'File' menu, 'Open active log file'. The only difference between 'Open file' and this is the default directory. If you use the original 'Open file' command, the default directory the file-open dialog shows will be your assigned log-files directory. If you use the new 'Open active log file' command, the default directory will be your assigned EQ-directory. The directories are assigned in the 'File locations' tab of the preferences form
    4. Added one more attack type, rend/rends. It is no longer necessary to delete the AttackTypes.DAT file when there are more hard-coded attacks. EQ Companion will always use the hard-coded list and reads in the file to see if there are attack types to add to that list
    5. Added 'Ignored Lines' counter to the Stats-window. It will show how many lines EQ Companion ignored (because they contained something EQ Companion is not set up to parse)
    6. Added 2 more columns to the Fight Detail window. It now displays how many times the maximum and minimum hits were hit for. This is to give the maximum hit column more credibility. If a mob hits only once for 113 damage, for example it is possible that it never actually hit for the true maximum. On the other hand if a mob hits for 115 for 6 times during the fight, chances are 115 truly is the maximum damage the mob does. Maximum damage is useful in determining mob's level. Typically mobs have a level range and the lowest one might hit for 101, next 103, and so on. Knowing the maximum hit allows you to know the mob's exact level which is useful when comparing fights and melee stats. The HTML table shows these numbers in parenthesis in the max hit and min hit columns.
    7. Added tracking of weapon proc resists. This required adding one more column in the NonMelee.DAT file for the spell name. Because of this you should delete the existing NonMelee.DAT file before running EQ Companion 0.6
    8. Now all fighter's names are links to Caster's Realm character search. It used to be only for the main guys
    9. Added statistics to keep track of the percentage of single hits, double hits, triple hits quad hits and more than quad hits. If you slash twice within one second, it is counted as double-hit, if you slash 3 times it is triple hit and so on. You can score double hits if your double-hit skill succeeded, if you are using two 1HS weapons and your dual-wield skill succeeded or even if you riposte so the statistics are by no means accurate. They will however give pretty good idea if you are using a two-handed weapon or if your one-hand weapons are different attack types, slash and pierce for example. The fight detail window will only show columns for numbers that were actually recorded, I.E. if you never hit a quad hit, you will only see single, double and triple columns.
    10. Added one more check-box to the chat channels, 'Scroll to bottom'. When it is checked, when you receive new messages and the window is full, the messages automatically scroll up keeping the latest message always visible. If you un-check the flag, the list is not scrolled. It is easier to see which messages you have not seen that way.
    11. All the 3 check-boxes (No beep, No auto-switch and Scroll to bottom) are now saved to the INI file so they will remember their individual settings
    12. Performance improvements:
      • Monitoring active log files is vastly faster while monitoring a fight. The program used to update every single detail in real-time to the fight detail window. Now the fight detail window is only refreshed once the current set of loglines is read in.
      • Made some other optimizations in the program.
    13. Added support for critical spell damage
    14. EQ Companion does not use the 3rd party AgHyperText DLL any more. The links in the 'About' dialog and item xref table now open up in the built-in HTML window.
    15. Added 'Back' and 'Refresh' buttons to the HTML window
    16. Added 'Home page' and 'Message board' buttons to the HTML window as well
    17. Removed the 'Language' drop-down menu from the preferences dialog. Now EQ Companion will work no matter what locality you are set to.
12/18/01 - EQLogMonitor 0.5:  
EQLogmonitor 0.5 is another small patch. It has support for international versions of Windows and has some bugs fixed for opening multiple log files. It is only available as executable-only ZIP file.

  • Upgrading information:

    If you have version 0.2, 0.3 or 0.4, you can just download the 135KB file.

  • Bug fixes:
    1. Fixed an overflow bug when you open a second log file that was recorded before the first one.
    2. Fixed a bug where you would get same error dialog after opening a second log file
    3. Fixed a bug with opening a log file and running non-English version of Windows

  • New features / enhancements:
    1. It is now possible to alter the window split in the Item Xref and Fights windows.
    2. Made the lines-per-second calculation more accurate. I used to divide total number of lines processed by total number of seconds processed. Now I am using 1/100th seconds instead.
12/11/01 - EQLogMonitor 0.4:  
EQLogmonitor 0.4 is a small patch. It is only available as executable-only ZIP file.

  • Upgrading information:

    If you have version 0.2 or 0.3, you can just download the 133KB file. You should delete the AttackTypes.DAT file to get the new 'smash' attack.

  • Bug fixes:
    1. Fixed an overflow error if you receive more than 32,767 errors when opening the log file
    2. Fixed a bug in the column width trimming procedure for fightdata window

  • New features / enhancements:
    1. Added row number to the fights-window. Note that if you are using the 'hide non-fights' feature, the row numbers will skip because some of the rows are hidden.
    2. Added one more hard-coded attack type, smash / smashes. You will not see this unless you delete the old AttackTypes.DAT file. You can also just use the Tables-window and add it manually
    3. Made the title rows in the fightdata window smaller. The font size is now 10 instead of 16
12/09/01 - EQLogMonitor 0.3:  
EQLogmonitor 0.3 has bug fixes and new features for parsing very long fights and enhancements for HTML table generation. It also tracks critical hits and crippling blows as well as weapon procs.

  • Upgrading information:
    1. If you have version 0.2, you can just download the 158KB file. You will have to delete AttackTypes.DAT file though because I changed the format of that file to be tab-delimited to keep it consistent with the new NonMelee.DAT file
    2. If you have version 0.1 and you do not have all Visual Basic 6.0 files installed on your computer, you will have to download the full installer as I started using the MonthView control which requires a new DLL.

  • Bug fixes:
    1. Fixed an overflow bug when total damage exceeded 32000 hit points
    2. HTML table would not show player name if it was unknown. Now it shows 'You' instead.
    3. Both HTML table and fight data table would sometimes show '00:00:00' as start time for 'Total:' row
    4. An empty line in the middle of the log file would cause havoc. Fixed that
    5. Copying the HTML code into clipboard would only work once per session. It works consistently now.
    6. If you got healed and you had not done any damage so far, you would get 'Overflow' error. Fixed that.
    7. If anyone gets killed and there is message 'a_noob_01 is slain by King Tormaxx', the fight would end. Now fight only ends when you get killed.

  • New features / enhancements:
    1. You can now adjust how many hit messages the program allows per fight (this used to be hard coded to be 2000) and how many fights the program is able to track (this used to be hard-coded to be 500). Since modifying these values can have drastic effect on memory usage, the preferences dialog shows approximate memory usage after the values have been changed. The change will only take effect after you re-start the program. You will get a dialog letting you know that.
    2. Added 'Most hits/fight' counter to the statistics window so user has some kind of idea how many hits his fights typically have and can adjust the above values accordingly.
    3. Added 'Default URL' button to the HTML window. Also added field in the preferences dialog where the URL can be defined. This way you can actually copy and paste the HTML table within EQLogMonitor without having to start a separate web browser for it. By the way, the HTML window is full-blown web browser and although it does not have controls like 'back' button, you can still use the backspace key to back to previous page, etc.
    4. It is now possible to define the colors for the fight data table and HTML table. I have 2 pre-sets (I'll probably change pre-set #2 as I do not like it too much. If you come up with a pleasing color scheme, let me know!) and 3rd choice where all the colors are user-defineable. You can play with the the colors using the preferences dialog and re-generate the HTML code and see the results immediately. You can also reset the user defined colors back to either of the pre-sets and start modifying them.
    5. My HTML code did not define the text color and the color scheme had very light colored background colors for the tables. This works OK as long as the default color for the web board is black. If the default text color is white for example, you will end up with white text on very light background and that is very difficult to read. Now the text color is actually defined in the HTML code.
    6. Since defining the text color separately for each table cell results in huge amount of HTML code, I added option to not do this. I am also using style sheets to define the text color only once per table row but this does not work with all browsers.
    7. The HTML window will show the HTML file's size in bytes once the file is read in.
    8. Added support for critical hits and crippling blows. They are shown as separate lines under the attack type, so for example all critical kicks will be shown under 'kick' and all critical slashes will be shown under 'slash'. The attack itself will include the criticals and crippling blows in the accumulated damage number.
    9. Added support for weapon procs. They are also shown on their separate line under 'non-melee' and since there are so many different weapon procs and each one of them has their own message, you have to tell the program the phrase, etc. for your particular weapon. I have hard-coded Short Sword of the Ykesha and Sceptre of Destruction as examples.
    10. Added a field to the preferences dialog where you can specify default player name. There are 2 ways EQLogMonitor tries to figure out the player name:
      • If the file name is the real log file, the player name is extracted from there (file name would be something like 'eqlog_85_Gilador.txt').
      • If the log file has not been stripped down to bare minimums, there are lines like 'Gilador saved.' and EQLogMonitor gets the player name from these
      If neither of these are true, EQLogMonitor will not know whose log file it is. Since all the hit messages say 'You have been hit', 'Wurm hits YOU', etc. it does know which hits are yours. Unfortunately criticals and crippling blows say 'Silgurdar has scored a critical hit!' instead of 'You have scored a critical hit!'. In order for it to know which criticals are yours, it needs to know the player name. You can now set the default player name in the preferences dialog.
    11. Added one more tab, 'Tables'. This is where you are able to list all known attack types ('slash', etc.) and modify them / add new attacks. It also has another table 'Non-Melee attacks' where right now you will be able to list phrases that the log file has when a weapon procs. In future this will be enhanced to include tracking of DoT's for example.
    12. The HTML table now has links. The player name is a link to Caster's Realm character search and the mob name is link to Allakhazam's bestiary search. The Allakhazam's search only works if you are a premium member.

11/15/01 - EQLogMonitor 0.2:  
EQLogMonitor 0.2 is mainly a 'bug fix' version from 0.1. It does not have any major new features, but all in all it should be a lot more stable now. It used to crash whenever there was a Visual Basic error but now I have built an error trapping routine which allows it to just ignore the error line and continue with next line.

Another major improvement is the ability to restrict what the program processes. You can choose to ignore all chat, loot, selling and skill increase messages. With fights you have the option to only process fights between certain dates. This should make it possible to quickly analyze fights from very large log files.
  • Bug fixes:
    1. If log file did not terminate with a CR + LF, you'd get 'runtime error 5: invalid procedure call' error
    2. If my hard-coded limits, 500 fights and 2000 hit-messages per fight were exceeded, you would get error message 'Subscript out of range'. Now you will get a proper error dialog.
    3. There was a bug where the program would terminate with a very descriptive dialog, 'Nothing to read, duud!'. This turned out to happen only while monitoring an active log file and if there was a single line with more than 255 characters in it. Typically these lines were chat from quest NPC's.
    4. There was a bug where if the log file name started with 'eqlog_' but did not follow with the server number and character name, no fights would be processed.
    5. When monitoring an active log file, the very first fight did not start building on the fight detail window.
    6. When monitoring an active log file and if there was a fight going on already, the fight would not be drawn properly in the fight detail window.
    7. If the log file did not have a proper fight ending message, like 'xxx has been slain by yyy' or 'xxx died' at the end of the log file, the fight remained active and you were not able to browse through old fights.
    8. If you received money from an NPC upon completion of a quest for example, you would get error message 'invalid procedure call'. Now these messages are shown in the 'sells' window under 'quest'

  • New features / enhancements:
    1. Added error trapping routine. When ever there is a VB error, you will get an error dialog telling the error message, the procedure name where it happened and the current log file line. All this info is also written into 'debug.log' file in the directory where the executable is. In the preferences you have option to only show a summary info after the whole log file is read in or show the dialog for each error as they happen.
    2. Added a status window. It shows various statistics as the file is read in. It will also allow you to limit what the program does. For instance you can ignore all chat messages or you can only process fights between certain date range. This is most useful if you have a single, very large log file. By the way, these flags work in real time, I.E. you can turn off all chat while the file is being read in and from then on all the chat will be ignored.
    3. Added 1 more column in the fight detail window, 'Damage %'. This shows the percentage of total damage each attack type did
    4. Added code for the new 'You have been healed for nnn points of damage' messages. If you receive them when you are not fighting, they are ignored but during a fight you will get a separate line for heals which shows the total hit points you were healed during fight, total number of heals and also min,avg and max heal hit points. The total number is also printed in green to differentiate it from the other damage numbers
    5. Added menu option 'Hide non-fights'. This will hide all fights where you did not do any damage. These kinds of 'fights' would happen for instance if you happened to run past someone else fighting and your log file would catch some of their damage messages. This setting is stored in the INI file as well.
    6. Enhanced the routine which figures out if fighter is a friend or a foe. If a mob would never hit you it would not be marked as foe. Now as long as it hits someone who is a known friend, it will be marked as foe.
    7. Fixed the 'Look item up from Allakhazam's' link to work with his new premium service. This link does not work unless you are a subscriber of the premium service as he does not allow you to search for item name otherwise.
    8. Enhanced the dots in the folder tabs. Now they can be 4 different colors, Red tells that this chat channel received the last message. Green shows that this chat channel has received messages you have not seen yet and blue dot means there are messages in this chat channel, but you have seen them all. A hollow dot in chat channels means there are no messages there. The skills tab shows same colors.
    9. Added keyboard control for the program. You can use ALT and arrows to browse through windows and scroll window contents up / down. ALT-HOME, ALT-END, ALT-PgUp and ALT-PgDn work as well.
    10. Fixed the status panel at the bottom of the screen. It was supposed to show how many messages the active chat message window had but it did not show anything.
    11. Added 1 more attack type, 'slice'. This is what spectre's use among other mobs
    12. Added tracking of language skills in the skills window.
    13. Cleaned up the menu's and changed the keyboard shortcuts to be more intuitive (Ctrl-F for fights window for instance)
    14. If you quit the program while the window was maximized, when you'd run the program again, the window would not be maximized any more.
    15. Scrolling through fights works nicer now as the currently selected fight line is highlighted properly
    16. Log file is now polled 4 times per second instead only once per second.
    17. Various aesthetic changes to make it look nicer under Windows-XP
    18. Currently open log file name is now shown on the title bar.
    19. If mob was killed during the fight, its name is shown with strikethrough attribute.