Change log for GamParse

GamParse v1.5.1.7 - February 21, 2016

-Fixed a error that prevented correctly parsing damage done to Wither in the Wither and Decay Raid.
-Added an option to suppress minor parsing error notifications. It is available under General Options.
-Lowered the Default Min Damage option value to 5. This can still be adjusted in settings.

The above changes require forcing a reset of the settings file to ensure it is valid. Sorry.

GamParse v1.5.1.6 - January 5, 2016

-Added an option to disable the timeline when comparing spell casts.
-Fixed error when in hover mode and coin is split.
-Fixed incorrect labels for spellcasts when exporting to html.
-Added some missing Rogue Discs.

GamParse v1.5.1.5 - August 23, 2015

-Added check to convert YOUR to player name when an opponent absorbs your DS.
-Renamed Innerflame to Terrorflame, the newest incarnation.

GamParse v1.5.1.4 - August 23, 2015

-Fixed incorrect spacing on the Veteran AA Special Codes.
-Fixed parsing of runes when they absorb a Damage shield.
-Fixed a mistake with the new Spell Feedback parsing twice.
-Fixed Missing special code descriptions that were missing when exporting.
-Fixed Heel of Zagali, Illusions of Grandeur, and Chromatic Haze so they will properly show as "Received" spells.
-Fixed incorrectly set CompletedLoad variable when using the last 5MB load option. It was previously thinking loading was completed before it actually was and attempting to parse new data while old data was still loading, causing an error.

-Converted CritSize to use Int64 in a few places it was missing.
-Removed some old checks that capped damage to 9 digits and converted them to use Int64.
-Renamed the fake player for Reverse DS to remove "Cleric" from the name to prevent class jealousy.
-All Clipboard copy events will now play the sound if the option is enabled. the option to play a sound when copying to clipboard is no longer dependant on AutoSend being enabled.
-Renamed nearly all objects to use my naming scheme and removed remnants of phantom objects that had been previously deleted but still lingered. This shouldn't have any effect on anything.
-Moved Player Tracking via chat from PartyChange into the actual chat parsing section where it is properly checked to prevent errors. This should greatly increase the accuracy of tracking who is a player vs a NPC.

-Damage done to Eyeballs "Eye of Beimeith" is now ignored. This should prevent them showing in the fightlist. This will not affect the existing named NPCs.
-Damage done by a player to themselves is now properly flagged as being done by themselves. This prevents creating fake opponents "himself/herself/itself" that shouldn't exist.
-The name of the DoT that does damage is now tracked. Any DoT damage by the Beastlord Pet DoT "Bestial Bloodrage" is now ignored. This should prevent Beastlord pets showing in the fightlist when their owners use this DoT on them.
-Pets are now tracked and saved in the settings file. This list is checked against and any damage done by them or to them from a tracked player or another tracked pet is ignored. This should prevent most pets from showing up in the fightlist.

-Added a new option under Help that opens a browser window this Changelog page.
-Added additional options to the "Restrict Chat by Time" Dropdown list on the chat tab.
-Added Claw of the Flameweaver and Claw of the Flamewing to list of Wizard spells to identify player class.
-Added support for parsing new DS/Feedback messages when only a single point of damage has been dealt.
-Added an extra check when attempting to link a default pet to a default player to prevent linking a player as your pet.
-Added an additional check for when DD spells Critical Hit. This should prevent incorrect crit rates when at max spell range.
-Added a note to most error messages that reminds you that you can press "CTRL + C" to copy the exact error message to the clipboard.
-Added new options to customize the display of Live DPS Overlays. You can now optionally show SDPS, DPS, %, and Labels. DPS now displays individual time. The Live DPS Overlays will now automatically resize their width based on the options set.
-Added option to Enable Split Sending & the Delay Timer value under Send Options. If you attempt to send more than will paste into EQ it will now trigger a timer that will break it into chunks and send them one after another at a set interval until all has been copied.

Example: If you attempt to send something that is 4 times the maximum length GamParse will break it into 4 chunks. It will copy the first chunk to the clipboard, pause for a set number of seconds to allow you to paste it into EQ, then copy the second chunk to the clipboard, pause, and continue on until all 4 chunks have been sent.

GamParse v1.5.1.3 - July 25th, 2015

-Updated several abilities that have new spell landing messages
-Added support for new Cleric Reverse DS messages. It will now show as a fake player.
-Added support for new Spell Feedback messages.
-Fixed an issue with the new regular DS messages that was missed before.
-Generic Error messages should now give the line that generated the error.

GamParse v1.5.1.2 - July 22nd, 2015

-Added updated Monk Discs to list of tracked Discs.
-Added support for new Damage Shield messages.
-Damage Shield damage will now correctly attribute the damage to whomever dealt it.
-Damage Shield damage now has it's own damage type. It will show as "Environmental" damage in the Tanking and Player DPS Tabs.

Note: There is a known bug with Damage Shield damage if it is absorbed by runes. Currently a damage shield hit that is absorbed by a rune will NOT appear as "Absorbed" under the Tanking tab. I still have to track down the cause of it not appearing but it is a minor issue and I wanted to push out the above fix asap.

GamParse v1.5.1.1 - July 14th, 2015

Bug Fixes:

-Fixed a bug with Five Point Palm causing GamParse to believe the player is an NPC.
-Fixed a bug where Chat lines containing archery messages were being parsed as a fight.

GamParse v1.5.1.0 - July 12th, 2015

Faction Tab

GamParse has a new tab that parses faction hits! Factions hits display the name of the faction, the amount of change, the timestamp and the Zone where the hit took place. If the faction hits do not display a number such as when you are Max KOS or Max Ally, it will display KOS or Ally instead of the number. When loading an older logfile where faction hits only show as positive or negative it will show "Better" or "Worse" respectively.

You can filter the list via dropdown boxes similar to the revamped Loot Tab. Filtering by Faction will create a sum total of the faction at the bottom of the list if possible.

Note: The NPC column is unused at this time but may display the name of the NPC/Quest that caused the faction change in the future.

Search Tab

Sometimes you may want to search for multiple items at the same time for comparison which required opening two instances of GamParse. This is no longer necessary as you can now search up to 15 different items in their own tabs within a single instance of GamParse.

Search Within Search Results
Sometimes a search simply returns too many results to find exactly what you are looking for easily. Now you can search within search results to find those specific lines you are looking for.

Date/Time Filters
New dropdown filters limit search results to the selected date and time. Note that you must search once before the option for restricting by Date becomes available.

Save Search
A new button allows you to save the current search results to a text file so you can easily review it later.

Copy URL
A new button allows you to copy just the URL from a line in the search results. Note: the URL must begin with "http://", "https://", or "www." to be detected.

Limit Results
Added more options to the Limit Results dropdown box. You can now limit results to 50, 100, 200, 500, 1000, 5000, 10000, and All.

Search Clear on Selected Fight Change
Selecting a new fight from the Fight Navigator will no longer clear your search results.

Spells Tab

The Overview box now lists the class if that information is available. You can also sort the box by clicking on the columns.

Added a limited number of "Debuff" tracking. These work similar to "Received" buff messages.

Chromatic Haze is now checked as a Received buff.

Warrior's Flash of Anger ability is now correctly parsed.

Clicking on a Received buff will not open Lucy (since they are not valid spell names)

"Received" and "Debuff" spells will no longer be counted toward the total casts for players in the Overview and Comparison boxes.

Chat Tab

Language Support
Chat parsing now supports speaking in other EQ languages besides "Common."

Copy URL
A new button allows you to copy just the URL from a line in the search results. Note: the URL must begin with "http://", "https://", or "www." to be detected.

Loot Tab

Coin Parsing
Coin parsing now supports coin received via "split" when using the Advanced Looting Feature or the /split command.

Main Menu

Load Last 5 MB
Added the missing option to load the last 5MB of a log file. This is useful for when you only want to check the last bit of a log file and do not want to load the entire log.

Load / Monitor Recently Viewed Logs
GamParse will now keep a list of the last logs opened (up to 10). You have the options of Loading the entire log, or monitoring the log for new fights. Note the lists are separate since you can load a backup'd log, but you can't monitor a backup log for new fights.

Selective Backup
Previously you could only backup entire logs or a single/combined fight, but there is a lot more information that maybe you want to backup separately. Selective Backup is a new menu option that allows you to backup specific parts of the log file: Chat, Loot/Coin messages, Random rolls, and/or Faction hits.


Default Pet
You can now link a default pet to the default player by setting it in the General Options. This allows pet classes to link their own pet to themselves and will no longer need to do /pet who leader to link their pet when parsing themselves. Note that you will still need to /pet who leader for -other- people to link your pets as this applies only to the default player. It does not keep a list of all pets for all players.

Temporary Files
Temporary files generated by Gamparse (such as loading a zipped backup file) are now deleted when loading a new log file.

Temporary files are deleted when the program is closed, but previously if you didn't close the program and opened multiple zipped files they would build up in the system and take up space. They are still deleted when closing the program, but they are also cleared when loading a new file.

Settings File
Cleaned up old code related to the saving of settings options. Settings should now be saved more reliably.

Added a label to all graphs containing the version number of GamParse that they were made in.

Special Codes
Added new Special Codes for Infusion of the Faithful and Armor of Experience.

Changed the Special Code for Staunch Recovery from "S" to "6" so that all Veteran Reward Special Codes use the same naming convention (the year).

Tab Index
Edited the Tab Index on everything to follow a more logical progression.

Bug Fixes

-Fixed a bug where bonus DoT Damage messages gave an error. They will now parse correctly.
-Fixed a bug with the Graphs tab where sometimes it would not properly resize the graph if you changed the size of the GamParse window.
-Fixed a bug with the Graphs where clicking multiple times on the Tank hits button would duplicate names in the drop down box.
-Fixed a bug that allowed you to make the window smaller than it should be.

GamParse v1.5.0.2 - January 18th, 2015

-Fixed issue with the backup timer causing a new load every time it fired, even if there was no backup.
-Fixed issue(s) that caused improper backup settings to be allowed.*
-Added a notification when copying to the system clipboard fails because another program has locked the clipboard.
-Added checking for improper settings files.

*Because of the changes to the the backup settings, the first time is loaded it will overwrite your current settings file with default values.

GamParse v1.5.0.1 - January 5th, 2015

-GamParse will now save your current zone information when you backup your log files. It will write a false zone message into the new log file to ensure proper parsing.

GamParse v1.5.0.0 - January 1st, 2015

Fight Navigator

Optional Counting/Listing of Mobs when Combined
When combining multiple fights from the Fight Navigator or Fight List, a new option will have GamParse give more detailed information about which fights were combined.


/GU Arch Mage Harron pet (8), A royal myrmidon (3), A royal scout (2), A crusader (2), A champion (2) in 407s, 89654k @220279sdps --- #1 Wizard 9952k@24452sdps (25984dps in 383s)

Fight Tab

Zone Tracking
GamParse now attempts to determine the zone each fight and loot event took place in based on zoning messages. This information is displayed in a new column on the Fight List Tab and is available to the revamped Loot Tab. When exporting a fight to a new file, a false zone message will be created to ensure the zone is properly detected when the file is opened again.

Participants per fight Tracking
A new column in the Fight List tab displays the number of PCs that were detected taking actions during each fight for a quick glance at how many were active per fight.

Overview Tab

Class Tracking
GamParse now attempts to determine the class of each player it detects via spells and combat skills, as well as /who. This information is displayed in a new column in the Overview Tab, and a new option has been added to use class names in place of player names when outputting information to preserve anonymity.

Per Fight Ranking
A new column in the Overview Tab displays a simple ranking based on Total Damage so you can easily see where each player came in. This number is also used when you click the "Send Highlighted to EQ" button.

Export to Worksheet
A new button on the Overview Tab allows for exporting fight information into an Excel XML spreadsheet.

Notification of Completed Export
You will now be notified when your fight has completed exporting into a new file.

Bigger Pet Box
The height of the Pet box has been slightly increased so that it should no longer create a scroll bar when a single player is selected.

SDPS Option / DPS Time in Send to EQ
Scaled DPS (sdps) can now be displayed when sending information into EQ, giving a more accurate comparison between players. When enabled, sdps is displayed directly behind the total damage. Raw dps is now displayed with the players' personal engagement times after it in parenthesis. Displaying sdps and raw dps are both optional. Displaying the engagement time with raw dps is not optional. Percentage of total damage follows raw dps and is now in brackets.

Example with all optional components enabled:

/GU A champion in 37s, 5335k @144176sdps --- Wizard 931k@25153sdps (51704dps in 18s) [17.45%]

Suppress No Damage Players Option
A new option (Settings > General Options) has been added to suppress players who did 0 damage from showing in the Overview Tab.

Spells & Discs Tab

Short Term Buff Tracking
Specific short term buffs such as Bard/Shaman epics are now tracked as "spells" on the Spells and Discs tab. They can be identified as they begin with the word "Received."

Search Spells on Lucy
You can now quickly search for any spell on Lucy by double-clicking the spell name in the Comparison Box.

Tanking Tab

Order of Operations
The Order of Operations when calculating defensive skills has been corrected. Hit/Miss/Defensive percentages are now based on the actual number of attempts against that skill, not the total number of attempts. Accordingly, the attempts against each skill type are now displayed.

Invulnerability (DA) is now listed separately as its own defensive skill type. It is no longer counted as a Rune (absorb).*

Tanking Details Box
The Tanking Details box has been changed from Column based to Row based. This allows for cleaner presentation and exporting of the data via a new Send Highlighted to EQ button.

Hits and Real Hits
Differentiated between Hits, when the mob actually hits you to do damage (not DA or a MISS) BEFORE runes, and Real Hits, when the mob actually hits you and does damage. (Real Hits = Hits - Runes/Absorb). This gives a better picture of how often you are actually taking damage that reduces your hit points.

DD and DoT Spells
DD and DoT Spells are no longer counted as part of the Total for tanking because you cannot defend against them. Total has been renamed "Total Melee" accordingly. DD and DoT information will now always appear at the bottom of the list.

There is now a checkbox for Monks and Beastlords only that will recalculate the order of operations for them. What this does is replace "Parry" with "Block" and calculate it that way instead.**

Hit Count Box
The Hit Count Box has been updated to reflect the above changes.

*Note that despite being checked first, Invulnerability is NOT counted as "Defended" since it is not a real defensive skill. It DOES affect the attempts for subsequent calculations however.

**Note that this ONLY works with the normal "Block" skill. If You are parsing a Monk/Beastlord that is using Staffblock, it will not be correct. Unfortunately, there is currently no way to do this as the "skill" block and "shield/staff" block have the exact same message when they fire, even though they are completely separate things and are calculated separately.

Graphs Tab

Graph Scaling
Graphs are now auto-scaling based on the size of the GamParse window and should no longer become unreadable with high values. By default, gridlines are now determined based on a logarithmic algorithm that rounds to a suitable scale. You may also optionally choose to scale the graph based on the maximum hit. Maximum hits are now displayed in the lower left corner of the graph.

Graph Lines
There are now checkbox toggles for whether to display Healing, Damage, Rolling DPS and Average DPS lines on the graph. This allows you to display a clean unobstructed graph of each line.

Maximum Values
The maximum values for each line on the graph are now listed in the bottom left corner of the graph for easy reference.

Healing Tab

YOUR healing of OTHERS Box
Added new buttons to send information on YOUR healing of OTHERS into EQ. The Send Summary to EQ button will send a summary of all information into EQ up to the maximum number of characters. The Send Highlighted to EQ button will send only the highlighted lines into EQ.

Note: Healers do NOT see the actual amount of health healed on their target. Only the recipient of a heal sees the correct value.

OTHERS healing of YOU Box

Added a new button to send information on OTHERS healing of YOU into EQ. The Send Highlighted to EQ button will send only the highlighted lines into EQ.

Loots Tab

Loot Output Window
The Loot Output Window has been expanded to include player name, time, and zone information. The old selector boxes have been removed in favor of a set of new drop down filters that can be used to narrow the results shown in the box.

Coin Output Window
GamParse now tracks your looted Coin! A new window below the Loot Output Window now lists all Coin you have looted, the time, and the Zone. A handy counter at the bottom tabulates your cash, and filters similar to the loot window allow you to narrow the results shown in the box.

Loot & Coin Send to EQ Buttons
With the update to the Loot window and the new Coin window come buttons that allow you to copy the selected line into EQ to quickly share information about looted items or looted coin.

Random Tab

GamParse has a new tab that parses /Randoms! "Random Sets" are created as soon as a new /Random is detected, and all /Randoms of the same set are grouped together up to a pre-defined, configurable, period of time, (default 5 minutes).

Example: If you /random 0 100 at 12:00:01PM, any other /random 0 100 will be grouped together until 12:05:00PM. If you /random 0 100 at 12:05:01PM, it will create a new Random Set, and all /random 0 100 from 12:05:01PM until 12:10:00PM will be grouped together.

Five buttons are available that will send information into EQ: Top Roller(s), Bottom Roller(s), Middle Roller(s), Top & Bottom Roller(s), and a Random Roller. The number of rollers that are sent is configurable.

There is an option, enabled by default, to hide duplicate rolls from the same person. When checked, only the first roll from that player is counted, any subsequent rolls from that player are ignored for that random set.

Chat Tab
Serverwide chat channels are now included in the Chat Tab.

Options Tab

Options Tab Replaced by Settings Menu
The Options Tab has been removed. The settings formally available on the Options Tab are now accessed via the Settings Menu. Changes are no longer automatically saved to prevent accidentally changing the wrong item.

Backup / Loading Compressed Log Files
GamParse now automatically compresses backed up log files into .gz format. GamParse can also load these files directly, no need to uncompress before loading.

Configurable Backup Directory
You can now configure where to store backup log files.

Optional Backup Checking
You can now specify the size that will trigger a backup if you desire to have smaller or larger backups, and set a timer for GamParse to check if it is ready to backup.

Version Specific Settings File
Gamparse.ini is now (Gamparse-[version number].ini) so as not to try to load an incompatible file or overwrite an older version if multiple versions of GamParse are run from the same directory.

Settings File Location
To allow for better version control, the settings file is now stored in the Windows User's AppData folder by default, NOT in the same folder as GamParse.exe. This has no effect on any functionality of the program.

Note: If GamParse detects a settings file in the running directory, it will use that over the file in AppData. This is recommended ONLY for advanced users that wish to use multiple instances of GamParse in different folders with different settings.


Improved Column Sorting
Most columns, (Dates, Numbers, Characters) are now sortable in both ascending and descending directions. Previously only specific columns could be sorted, and usually only in descending order.

Improved Loading Bar
The Loading Bar looks better and now displays the total time it took to load the current file.

Improved Rampage Detection
Rampage attacks should be more reliably identified.

Revision Displayed in Title
The revision number (the fourth number) is now displayed in the program title. This will make identifying specific versions easier in the future.

Current File Label
The Current File Label have been moved from the top left under the Menu Bar, to on the Menu Bar itself, aligned to the right. This gives much more space when loading files with long names.

Bug Fixes

--Fixed multiple crash errors when dealing with numbers greater than the max value of Int32.
--Fixed crash if you tried to search the log without a log loaded.
--Fixed crash if you tried to display a tanking graph with no player selected.
--Fixed crash if you used GINA to back up log files that GamParse was reading.
--Fixed Runes (absorb) not parsing properly.
--Fixed the buttons on the HTML pages created by the export to HTML button. (Note this will only work for new HTML files, any ones previously made will be missing the buttons).
--Fixed several buttons that wanted to move when you resized the window.
--Fixed the Tracked Player function (the list of who is a player and not an npc) to ignore triggertext in chat. It was improperly flagging random words in chat as a "player."
--Fixed, or at least -greatly- reduced, Players showing up in the Pet List on the Overview Tab.
--Fixed bug where pets linked to an owner could not show hit graphs.
--Fixed bug with the CombinePets button on the Overview. It wasn't working if "AutoCombinePets" option was enabled.
--Fixed bug where graphs were offset by one second.
--Fixed issue where X-Axis labels would jumble together if they were too large.
--Fixed issue where a HoT was being attributed to a corpse if the healer died. (Sorry Kaen).

Changelog Archive