PDA

View Full Version : GamParse v1.0.0 Lots of features and ... stuff



Gamanern
01-27-2008, 11:48 PM
Well, I am back again with another update. This update finally sees my 'to do' list finally being completed. Along with the usual bug fixes and clean ups, there were many new features added, many that people have been really keen to see, so hopefully this update will cover almost everything that you all want to see in a parser.

I have also finally called this version 1, as I am now happy that all the key features that I wanted are now available.

As always, see further down the post for the full changelog update for this update, but here are some of the key features:

* Log file search has been added

* Export to a single fight log file, including ability to strip player chat from the file.

* Added save file dialogs for when you save to HTML, and also the new single fight log file.

* Added auto send to EQ for DPS summary.

* Added plain text output for exporting DPS summaries to forums that don't support HTML.

* Added ability to produce a 1 player detailed send to EQ

* Added a live fights tab so you can watch the DPS unfold before you eyes :eek:

* Added a loots page, see how looted what.

* And a bunch of other smaller stuff. See the changelog below for full details.

Give it a try, let me know if you like it, or if there is anything that you would like added to it. Obviously any changes will need to fit with the capabilities of the program.

See the end of this post for several screen shots showing some of the new features.

You can check out the forums to get the program and the information of changes at:

http://gambosoft.com/forum/ (http://gambosoft.com/forum/)

Or you can just straight to the download thread:

Download Thread (http://gambosoft.com/forum/viewtopic.php?t=4)

And you can view the full changelog here:

Changelog Thread (http://gambosoft.com/forum/viewtopic.php?p=7)

As always, feel free to share this program within your guild, but please link back to this post on this forum so they can get my little sales pitch. :D


GamParse v1.0.0 - January 28th, 2008

This is a major update, cleaning up all the outstanding items on my 'to do' list, and adding all the core features I had wanted.

* Added the ability to export a fight to a log file, allowing you to produce single fight versions of your log file.
--> This allows you to store only the important fights, so you can remove the rest of the log file if desired.
--> This also allows you to open a single fight in your favorite text editor for advanced analysis.
--> Created an option to strip out any player chatter so you can share the one fight log files without giving away any guild information like strategies, or any other chatter that you don't want to share.
--> Created an option to automatically open the resulting log file in your favorite text editor (as defined by the type for 'TXT' in your settings in Windows)
--> Stores pet linking information, so if you link pets, when you open the new file in GamParse, the pet link information will be automatically populated for you.

* Added the ability to output a detailed fight summary in a plain text format to support forums which do not allow HTML code.
--> Default shows DMG, DPS, SDPS (scaled), DMG to PC, DPS to PC and special.
--> Options to also show:
----> Damage by type
----> Damage by criticals
----> Hits and accuracy

* Added an option to auto send the DPS summary to the clipboard as a fight completes.
--> It does not send to EQ repeatedly while opening an existing log file, it is limited to fights occuring in real time.
--> There is an option for the minimum size before sending the DPS summary to clipboard. This is currently set to 500,000 which should limit the function to only raid targets, but you can set this number higher or lower to suit your own needs.
--> There is an option to play a sound on copying. That is my voice.

* Added in a log search tab.
--> You can search using regular text, or if you wish, using Regex.
--> You can limit the number of lines output in case your search finds too many matches. You can also show all matches
--> You can selected a line from the resulting matches, and copy it to clipboard. This is handy for sending back to EQ, or posting on forums, or quest info to Allakhazam's.
--> You can restrict the search to the selected fight (or combined fights) or you can search the entire log file.

* Added '% of DMG' column to the interface and HTML, both for forums and to a file.

* Added a 'Special' column to the interface and HTML, both for forums and to a file.
--> '7' indicates the use of the 7th year vet reward (Intensity of the Resolute)
--> 'G' indicates the use of one of the DPS related Glyphs
--> 'X' indicates the player had died
--> '$' indicates the player was saved by divine intervention
--> A legend has been added to all outputs
--> Death and saved by DI can occur more than once in a battle, you will see multiple 'X' and '$' if this happens.

* Updated how joining fights work when the fights over lap, like on trash clearing on a raid, with several opponents in camp at once.
--> Previously all fights were joined end to end, even if they did overlap.
--> Now the overlapping fights will be joined as overlapping, so total time elapsed is more accurate, which lifts DPS numbers to better reflect what they should be.
--> Removed the double counting of spells that occurred while there were two active fights. Now spells will show the proper count.

* Added file save dialogues when saving HTML and single fight log files.
--> Your output directory is stored so next time you can output quickly to the same location
--> HTML and single file log files locations are stored separately
--> You can change file names as needed, for events like Lethar 1 and Lethar 2 will no longer overwrite each other

* Identified paladins 'Slay' damage and now placed it as a type of its own. Previously the slays were showing against slash and crush.
--> Paladins can now see what portion of their damage came from slays.
--> Using the interface, paladins can now look at their hit distribution of slays on the graphing tab.

* Added ability to select a player on the 'Player DPS' tab and send their details to EQ.
--> It will be formatted as a tell to the player, or if a pet, a tell to the owner. If you wish to send to a different player, you will need to edit the start of the line (Shift-Home to get to the start of the line in EQ, Shift-left and Shift-right to move along the line)
--> Contains most of the key details from the Player DPS tab. If they want more information, they will need to do their own parsing, or if someone in guild posts it, refer to the full HTML output.
--> Great for sending information to people asking how they did on an event.

* Added a live fights tab to track fights as they progress.
--> Shows two fights, ranked by total damage done so far. If more than two opponents in camp at a time, only the top two will show.
--> Shows the total raid DMG and DPS so far
--> Shows your own DMG and DPS so far
--> Shows the top 4 other players for DMG and DPS, ranked by their DMG so far.
--> Used a very large font so you can easily read from a second computer both quickly and at a distance.

* Added a loots tab
--> Split into looters, and items looted
--> Select a looter to see all the items they looted, and a count of each.
--> Select an item to see who had looted it, and a count of how many times.
--> Due to the messages in EQ, if someone loots a stack, it only appears as a single in the log file, so some items maybe be understated.

* Added healing numbers to the tanking line graph, but only if the tank was the person doing the parsing.
--> Cannot completely record heals for other players due to limitations in the EQ logging, so only available for the person doing the parsing.

* Added the ability to send a healing summary to EQ, but only if the tank was the person doing the parsing.
--> Total of healing, ranked by ammount healed.
--> Cannot completely record heals for other players due to limitations in the EQ logging, so only available for the person doing the parsing.

* Added an option to suppress finishing blows from appearing as DPS.
--> Damage is not added to the event, so DPS numbers are no longer skewed.
--> Added as an action on the 'Spells, discs and actions' tab.

* Fixed a glitch with the line graph legened under Windows Vista. Apparently Vista and XP use different sized fonts.

* Disabled auto-tips. These were more annoying than helpful, and instructions (old ...) are still available from the menu.

* Fixed an issue where auto-tips prevented auto-monitor from starting correctly.

* Fixed an issue when an underscore '_' was part of the path name.

* Fixed an issue with identifying pet leader for a mage pet when you had 'Other's non-melee' disabled in EQ.


http://GamboSoft.com/GamParse/ForumImages/v1.0.0/Overview.png


http://GamboSoft.com/GamParse/ForumImages/v1.0.0/PlayerDPS.png


http://GamboSoft.com/GamParse/ForumImages/v1.0.0/Healing.png


http://GamboSoft.com/GamParse/ForumImages/v1.0.0/Tanking.png


http://GamboSoft.com/GamParse/ForumImages/v1.0.0/Loots.png


http://GamboSoft.com/GamParse/ForumImages/v1.0.0/LiveFights.png

netura
01-28-2008, 12:20 AM
thank you :)

Iksa
01-28-2008, 02:10 AM
This update looks GREAT! I can't wait to try it out.

Thanks again for sharing all the hard work you've put into this with the EQ community Gamanern!

Xyndail
01-28-2008, 03:07 AM
hot, nice

Gamanern
01-30-2008, 09:04 AM
I have had a number of small issues to fix, and I have changed how the unhandled lines from your log file are handled. These issues have minimal impact, but you may want to get the 1.0.0.5 revision to get the following changes:

* Unhandled lines from the log file will no longer result in a pop up and stopping the process. Instead, any unhandled lines will be placed in the file 'GamParse.err' in the same directory as GamParse.exe. This means all the problems relating to emotes faking damage will no longer stop the program, but rather go to the error file.

* Fixed column sorting on the Overview. It was attempting to sort words as if they were numbers.

* Auto-monitor will warn you now when you rename or delete your log file when trying to open it.

* Fixed some typos 'You DPS' was repaired to show as 'Your DPS'

* A few buttons were not moving with the rest of the screen, so they would appear to be floating above the data when you resized your screen.

If any of you feel like checking the GamParse.err file from time to time and send me the contents, it will assist in making the program more robust, but for now, it should no longer stop for any bad lines in your log file.

Raptyr Tailfist
01-31-2008, 08:43 AM
What I miss from this parser (which is most excellent) is EQCompanion's ability to nullify the deadspace created when you pull.

You run out there ... throw a spear at a mob ... Gamparse starts calculating your DPS ... 20 seconds later you get back to the camp, and those additional 20 seconds count against your personal DPS for the fight, ruining any accuracy it might have held for you.

EQC stops the fight after it realizes nothing is happening and you see a "dead" fight in the fight list in addition to the actual fight.

I know GP has a "stop the fight after xxx seconds" setting but it doesnt do anything useful.

Gamanern
01-31-2008, 05:10 PM
What I miss from this parser (which is most excellent) is EQCompanion's ability to nullify the deadspace created when you pull.

You run out there ... throw a spear at a mob ... Gamparse starts calculating your DPS ... 20 seconds later you get back to the camp, and those additional 20 seconds count against your personal DPS for the fight, ruining any accuracy it might have held for you.

EQC stops the fight after it realizes nothing is happening and you see a "dead" fight in the fight list in addition to the actual fight.

I know GP has a "stop the fight after xxx seconds" setting but it doesnt do anything useful.

I had thought about this, but too many of the options I looked at would lead to funny behavior.

Mostly, how do I catch the difference between my beastlord pulling with a 1k nuke, and a low level wizard kiting using a 1k nuke over and over.

Similarly on my warrior, I usually pull with agro so adds can be mezzed (in a group with 2 warriors and a chanter, its faster to pull 2s and 3s than mucking around with singles ...) so I would stand in the middle of the triple and hit my whorl blade to hit and agro them all, getting a few hits on me for my troubles.

I likely can just take the case where the target is hit by a 'Hit' type (ranged attacks usually, but also some special attacks) and if there are no other hits around that time, discard it, which would cover the common case of pulling with ranged and staying ahead of hte target till you get to camp. It gets funny quickly if you do more hits, or other types (quick nuke etc), or if you get hit yourself on the way in.

I will look at the various options to see what I can do, but now I have the main program built, I do have more time to tinker with the finer points.

Gensis
01-31-2008, 07:35 PM
Maybe add in something to discard the first hit or hits, but not make it automatic. Being a monk, I would go to the options tab and check this if I use shurikens to pull to discard the first attack. Or probably any of the ideas you mentioned would work, but put in a check box or something for it.

Pliko
02-02-2008, 06:18 AM
Looking good, thanks for all the hard work.

Is there any chance of adding 3 checkboxes or similar to the graph tab so that we can choose which lines are generated?

Along the same line, is there a way to export the graph to a JPG?

I have been doing screen prints and doing it manually, but stopped because a lot of people weren't comprehending the graph. Being able to just list avg dps and the 6 sec rolling dps would be great.

Fulic
02-13-2008, 03:29 PM
The heal section of this is not working correct for me. It only shows the people in my group that were healed. Do I have a setting wrong?

Fulic
Keepers of the Glade
Bertox

Athilik
02-13-2008, 04:07 PM
It might be an issue with how EQ1 records log files, but in EQ2 a parser known as ACT (something combat tracker) is able to successfully nullify pull time, separate encounters, determine a fight between adds that you ran off by using "dead" encounters like Eqcompanion.

My suggestion to fix this: Have the parser start the parsing from the hits of others. Like when I raid, I can set the parser to start its parse from the time the main assist starts attacking. Would this be possible? It could nullify pull time in groups and raids, but not solo or boxing.

Gamanern
02-13-2008, 04:56 PM
The heal section of this is not working correct for me. It only shows the people in my group that were healed. Do I have a setting wrong?

Fulic
Keepers of the Glade
Bertox

I will take a leap, and assume you are a monk (most of you are ... but I am one of those dirty lurking warriors $$) so on raids typically you will get only a few heals, mostly related to pulling (usually heals before the real fight ...) and some related to healing for AEs DDs, DoTs and ramps. You will also see any self heals (mostly in the form of weapon procs)

If your cleric does a split heal (DA or epic click) if you have more HP than others, it will show you healing the others in the group, and if you have less HP than others, it will show all the others healing you. This looks odd, but is typical of split heals.

Obviously for heal parsing to work well, you need a bunch of healing, which typically means main tank is the only one that can get a good heal parse as a result. This is a limitation of EQ, as it only shows heals TO YOU and heals BY YOU.

I am not sure if this is further affected by settings, but I don't have EQ running atm, so I can check, but I usually run with all options on.



It might be an issue with how EQ1 records log files, but in EQ2 a parser known as ACT (something combat tracker) is able to successfully nullify pull time, separate encounters, determine a fight between adds that you ran off by using "dead" encounters like Eqcompanion.

My suggestion to fix this: Have the parser start the parsing from the hits of others. Like when I raid, I can set the parser to start its parse from the time the main assist starts attacking. Would this be possible? It could nullify pull time in groups and raids, but not solo or boxing.


I have looked into this a little (but not done any coding ... work has been kicking my arse lately, so free time outside of raiding has been at a premium) but simple rule looks like it is going to be: If hit type is 'Hit' (range type shows as 'Hit' for bows and throwing) and is only hit for 6 seconds, discard event. I will need to decide what happens if you get hit yourself on the way in, as that would look very similar to someone offtanking with no weapons on (so they don't riposte and make the mob start summoning ...), but likely I will only be trimming off the pull if you don't take any damage yourself.

If you want to see what this would 'sort of' look like, you can set your 'Default battle time-out' to a number like 6 or 12, which would mean if your pull took longer than the time out, it would discard that as a low damage fight, and starts a new event when the group or raid engages the mob in camp. There is a downside of course ... on some events everyone may stop attacking for 6 - 12 seconds, and that would cause the event to time out. AE stun could do it, also AE knock back (if people stay in too close on Valik rather than having someone time his AE ...)

Aelfin
02-13-2008, 08:08 PM
consider a collapse function. i am using it in the next version of Tango.

not sure how gamparse tracks at the second level but Tango knows, at the encounter level, how many attacks occured each second the encounter lasted. the collpase function can then 'adjust' the entire fight by removing all seconds with less than X (normally 0, but configurable) attacks. so the pull hit will still be there, but for all intents and purposes, all the blank space to the next attack is removed.

also nifty if you merge multiple fights and then 'collapse' the resulting fight... like tris, lethar, etc.

Gamanern
02-14-2008, 04:01 AM
I use start and end times, so I have no information in the 'empty times' to remove anyway. For my structures, I would need to simply remove the hits used for pulling. It will lower the damage done by the puller, but not enough that anyone would really care.

My joining routines are decent, as it can join pretty much all fights in a log file if I wanted, and with that, removing any spaces between fights (not touching any space inside of any given fight) and handling overlapping fights well, so medium term there isn't a need to change anything.