GamParse, TBL, and You

Discussion in 'The Veterans' Lounge' started by Beimeith, Dec 11, 2018.

Thread Status:
Not open for further replies.
  1. Beimeith Lord of the Game


    It will be done when it's done. I can't really be more specific than that in terms of actual time.

    I can't overstate enough that while it mostly looks the same it is essentially a new program on the inside.

    There are approximately 20,000 lines of code and a large percentage of that has been rewritten over the last 2 months. To make matters worse, there were several errors in how prior versions of GamParse calculated things which means that in many cases it can NOT be used as a reference to verify that it is working correctly. This means I have to manually examine logs and compare that to the parser output to make sure it is correct. Just because GamParse spits out a number and doesn't give an error message does NOT mean it spit out the *correct* number.

    And of course there has been the ever-present issue of the majority of the old code not having comments to explain exactly what it does and (more importantly) *why* it does it. In several instances already I've either removed or changed older code and then had to later come back and either revert the changes or make additional changes because I found out the code served an important purpose that wasn't obvious and wasn't explained.
    Gyurika Godofwar and Dythan like this.
  2. Tucoh Augur

    [IMG]
  3. Beimeith Lord of the Game

    Even that kind of comment would be an improvement over what I got :p
    It's not even my fault cause I wasn't the one who made it in the first place!
  4. Beimeith Lord of the Game

    Beimeith's Guide to GamParse, Part 2 - Send to EQ and Live Overlay Options

    [IMG]

    Send to EQ Options

    1) Output Channel

    When you use any button that copies text to your system clipboard to paste into EQ, this option adds the specified characters to the start of the text.

    The Default Channel is /GU.

    This is useful if your guild uses a parse channel. If your guild's parse channel is usually channel 4, you can set GamParse to default to sending to /4.

    Example:

    [Default Channel] [Text copied to clipboard]

    /GU A dragorn laborer in 1s, 48640 @48640 | Beimeith 48640

    Note: GamParse will try to send the maximum amount of characters it can when pasting into EQ. If you do NOT specify a default channel you may not be able to type it in game because there is not enough room in the chat window.

    It is always recommended to set this value to SOMETHING so as to give yourself padding.

    2) Separator

    When you use any button that copies text to your system clipboard to paste into EQ, this option adds the specified characters to the end of each separate item.

    The Default Separator is |.

    This is useful in that it makes it easier to tell where one entry ends and the next begins.

    Example:

    [Default Channel] [Item 1] [Separator] [Item 2] [Separator] Item 3 etc.

    /GU Empress Saarisz the Undying in 1s, 560 @560 | Zama 300 | Miena 125

    It is always recommended to set this value to SOMETHING to enhance readability when pasting multiple items into EQ.

    3) Play sound when copied

    This option when enabled will play a short message when text has been copied to the system clipboard.

    The Default setting is OFF.

    4) Auto send to EQ

    This option when enabled will automatically copy the summary from the Overview Tab to the system clipboard after a fight has ended and if the damage is over the specified value.

    The Default setting is OFF.

    5) Auto send to EQ if over X Damage.

    Requires Auto Send to EQ to be enabled.

    When Auto Send to EQ is enabled, only fights with a Total Damage greater than this value will be automatically copied to the system clipboard.

    Valid options are 1, 10, 100, 1,000, 5,000, 10,000, 25,000, 50,000, 100,000, 250,000, 500,000, 1,000,000, 2,500,000, 5,000,000, 10,000,000. The default is 1,000,000.

    6) Split Output

    EQ allows a maximum of 512 characters to be pasted into the chat window. Depending on the options that have been set, it may not be possible to paste all of the data into EQ at once. If GamParse detects that there is too much text to paste it will paste only the maximum allowed and cut off the remainder. This is not always desirable however.

    This option when enabled will tell GamParse not to cut off and discard the extra text, but to cut the text into chunks which can each be pasted into EQ. The first section will be placed onto the clipboard, and each subsequent section will be place onto the clipboard after a pre-configured amount of time.

    Example:

    /GU Mayong Mistmoore in 545s, 18492k @33930 | Punchu 1474k {7G} | Fattiesneedlove 1318k {7G} | Qelyn 1230k {7} | Llamarider 1221k {76} | Calgar 1145k {7} | Dunedigger 1014k | Rencor 997k | Krok 989k {7G} | Kamahl 964k | Hempo 560k {7} | Slurpee + pets 555k | Zama 550k {B} | Halloween + pets 504k | Boognasty 503k {B} | Wubonk + pets 483k | Hoth 478k | Shefler 468k | Papajays + pets 450k | Float + pets 441k | Dysomku 427k | Gafgarion 391k | Wrexyou 357k | Appollyon 336k {B} | Chempo 273k {7} | Dorotea 254k | Aarkan 227k | Bugnasty 185k | Jorn 181k | Vinto 164k {7} | Ogcspy 106k | Bini 64020 | Tago 40912 | Ahze 29604 | Oola 29545 | Rezcyou 20264 | Angered + pets 17440 | Toriador + pets 16328 | Rotation 15891 | Vebartik 10759 | Sievert 3500 | Jabn 1726

    The above summary is 758 characters long, too long to be pasted into EQ.

    Under normal options GamParse will truncate this to:

    /GU Mayong Mistmoore in 545s, 18492k @33930 | Punchu 1474k {7G} | Fattiesneedlove 1318k {7G} | Qelyn 1230k {7} | Llamarider 1221k {76} | Calgar 1145k {7} | Dunedigger 1014k | Rencor 997k | Krok 989k {7G} | Kamahl 964k | Hempo 560k {7} | Slurpee + pets 555k | Zama 550k {B} | Halloween + pets 504k | Boognasty 503k {B} | Wubonk + pets 483k | Hoth 478k | Shefler 468k | Papajays + pets 450k | Float + pets 441k | Dysomku 427k | Gafgarion 391k | Wrexyou 357k | Appollyon 336k {B} | Chempo 273k {7} | Dorotea 2 ...

    appending the ellipses to the end to let you know that the output was truncated.

    With the Split Output option enabled, GamParse will split the output into 2 chunks, and place each one onto the clipboard after the set amount of time:

    Chunk 1:

    /GU Mayong Mistmoore in 545s, 18492k @33930 | Punchu 1474k {7G} | Fattiesneedlove 1318k {7G} | Qelyn 1230k {7} | Llamarider 1221k {76} | Calgar 1145k {7} | Dunedigger 1014k | Rencor 997k | Krok 989k {7G} | Kamahl 964k | Hempo 560k {7} | Slurpee + pets 555k | Zama 550k {B} | Halloween + pets 504k | Boognasty 503k {B} | Wubonk + pets 483k | Hoth 478k | Shefler 468k | Papajays + pets 450k | Float + pets 441k | Dysomku 427k | Gafgarion 391k | Wrexyou 357k | Appollyon 336k {B} | Chempo 273k {7} | Dorotea 2 ...

    Chuck 2:

    /GU ...54k | Aarkan 227k | Bugnasty 185k | Jorn 181k | Vinto 164k {7} | Ogcspy 106k | Bini 64020 | Tago 40912 | Ahze 29604 | Oola 29545 | Rezcyou 20264 | Angered + pets 17440 | Toriador + pets 16328 | Rotation 15891 | Vebartik 10759 | Sievert 3500 | Jabn 1726

    7) Split Output Every X Seconds

    Requires Split Output option to be enabled.

    When Split Output option is enabled, if the text to send to EQ is greater than the maximum GamParse will split the text into chunks and place each chuck on the clipboard after this amount of time has passed.

    Valid options are 3, 6, 9, 12. The default is 6 (seconds).

    8) Show Opponent and Totals

    This option when enabled will display the name of the Opponent and the Total Damage when pasting from the Overview Tab.

    The Default value is ON.

    9) Show Total Damage

    This option when enabled will display the Total Damage for each player when pasting from the Overview Tab.

    The Default value is ON.

    10) Show SDPS

    This option when enabled will display the Scaled Damage Per Second (SDPS) for each player when pasting from the Overview Tab.

    Scaled Damage Per Second is the Total Damage of the player divided by the Total Duration of the fight.

    The Default value is OFF.

    11) Show DPS

    This option when enabled will display the Damage Per Second (DPS) and the time the player was engaged in the fight for each player when pasting from the Overview Tab.

    Damage Per Second is the Total Damage of the player divided by the Duration the player was engaged in the fight.

    Note: This number is USELESS FOR COMPARISON PURPOSES due to the different durations each player was engaged in the fight. It's the equivalent of trying to add 1/3 and 1/8 fractions together without converting them to the same denominator. DON'T DO IT. If you want to compare dps between characters you MUST use SDPS.

    The Default value is OFF.

    12) Add 'sdps' and 'dps' Descriptions

    This option when enabled will add text descriptions for SDPS and DPS numbers.

    The Default value is OFF.

    13) Show % of Total Damage

    This option when enabled will display the percentage of the Total Damage that each player did. The value will be in brackets.

    The Default value is OFF.

    14) Show Specials

    This option when enabled will display the Special Codes (listed on the Overview Tab) for each player. The value will be in curly brackets.

    The Default Value is ON.

    15) Send Top

    This option controls how many players, from most to least damage, will be copied to the clipboard when pasting from the Overview Tab.

    Valid options are 1, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75. The default is 10.


    Overlay Options

    1) Show Live DPS (primary)

    This option when enabled will display an overlay of the primary fight. The primary fight is the fight with the most Total Damage.

    The Default value is ON.

    2) Show Live DPS (secondary)

    This option when enabled will display an overlay of the secondary fight. The secondary fight is the fight with the second most Total Damage.

    The Default value is ON.

    3) Show Live Tanking (primary)

    This option when enabled will display Tanking information for the primary fight.

    The Default value is ON.

    Note: The current Player is set by default to be the Main Tank. The Main Tank can be changed by sending yourself a tell using this format:

    "[YourSever.YourName {gamparse.tank=Name}"

    Example: If you play on the Xegony server and your name is Beimeith and you want GamParse to track the player "Rune" as your Main Tank, you would send yourself this tell:

    [Tell Xegony.Beimeith {gamparse.tank=Rune}

    4) Show Completed Fight Overview

    This option when enabled will display an overview summary of each fight that is completed.

    The Default value is ON.

    5) Combine pets with their owner

    This option when enabled will show a combined value for pets and their owners on the LiveDPS overlays.

    This Default value is ON.

    6) Show SDPS

    This option when enabled will display the Scaled Damage Per Second (SDPS) for each player on the LiveDPS overlays.

    Scaled Damage Per Second is the Total Damage of the player divided by the Total Duration of the fight.

    The Default value is ON.

    7) Show DPS

    This option when enabled will display the Damage Per Second (DPS) and the time the player was engaged in the fight for each player on the LiveDPS overlays.

    Damage Per Second is the Total Damage of the player divided by the Duration the player was engaged in the fight.

    Note: This number is USELESS FOR COMPARISON PURPOSES due to the different durations each player was engaged in the fight. It's the equivalent of trying to add 1/3 and 1/8 fractions together without converting them to the same denominator. DON'T DO IT. If you want to compare dps between characters you MUST use SDPS.

    The Default value is OFF.

    8) Add 'sdps' and 'dps' Descriptions

    This option when enabled will add text descriptions for SDPS and DPS numbers.

    The Default value is OFF.

    9) Show % of Total Damage

    This option when enabled will display the percentage of the Total Damage that each player did. The value will be in brackets.

    The Default value is ON.

    10) Show Specials

    This option when enabled will display the Special Codes (listed on the Overview Tab) for each player.

    The Default Value is ON.

    11) Don't Show Live Fights With Less Than X Damage.

    This option will prevent LiveDPS overlays from showing if the Total Damage is less than the set value.

    Valid options are 1, 10, 100, 1,000, 5,000, 10,000, 25,000, 50,000, 100,000, 250,000, 500,000, 1,000,000, 2,500,000, 5,000,000, 10,000,000. The default is 100,000.

    12) Don't Show Completed Fights With Less Than X Damage.

    This option will prevent the Completed Fight summary overlay from showing if the Total Damage is less than the set value.

    Valid options are 1, 10, 100, 1,000, 5,000, 10,000, 25,000, 50,000, 100,000, 250,000, 500,000, 1,000,000, 2,500,000, 5,000,000, 10,000,000. The default is 1,000,000.

    13) Show Completed Fights for X Seconds.

    This option controls how long the Completed Fight overlay will be displayed on screen.

    Valid options are 6, 12, 18, 24, 30. The default is 18 (seconds).

    14) Round to Nearest Thousand After X Damage.

    This option controls when GamParse should round numbers to the nearest thousand for readability purposes on the LiveDPS overlays.

    Valid options are 1,000, 10,000, 100,000, 1,000,000, 10,000,000. The default is 100,000.

    15) Round to Nearest Million After X Damage.

    This option controls when GamParse should round numbers to the nearest million for readability purposes on the LiveDPS overlays.

    Valid options are 10,000,000, 100,000,000, 1,000,000,000. The default is 10,000,000.

    16) Show Top X Players

    This option controls how many players GamParse should show on the LiveDPS overlays.

    Valid options are 5, 10, 15, 20, 25. The default is 10.

    Note: YOU will always show on the overlay even if you are not within the top number of players.

    17) Overlay Font Color

    This option controls the color of the text on the overlays.

    Valid options are: Yellow, White, Green, Red, Blue, Pink, Orange, Light Green, Light Blue, Gray. The default is Yellow.

    18) Overlay Width Adjustment

    This option allows for limited control over the width of the LiveDPS overlays.

    Valid options are -100, -75, -50, -25, 0, 25, 50, 75, 100. The default is 0.

    Note: The Overlays automatically resize depending on which options are set. It is not recommended to lower this value too much or it may not leave enough space to properly display all the text.

    19) Adjust Overlay Locations

    These buttons will each cause a window to appear. The location of this window controls where that overlay will appear on the screen. Adjust as desired.

    The default locations are in the upper left corner of the screen.
    Krool and Gyurika Godofwar like this.
  5. Daedly Augur

    One thing I never understood was the option to look dps as a line chart where it would show "6 second rolling dps". Best i could gather, it showed exactly what it said, that it essentially reset the damage every 6 sec and used that to calculate the dps.

    I am not sure how such information would be used. I had always hoped that the graph would show what my dps was from the begining up until that time interval.

    For example:
    Fight length: 100 seconds
    Total damage: 1000
    Overall dps: 10

    Now, if i wanted to know what my dps was at the 50 second mark, the graph would show my dps as if the fight was only 50 seconds long and my total damage up to that point.


    Then again, maybe i dont fully understand how the current one works.
  6. Beimeith Lord of the Game


    That is not how it works.

    The X-axis on the graph displays a second in time, and the Y-Axis displays the damage done in that second, then it draws lines between those points.

    Rolling DPS (called Tick DPS now) works exactly the same way except it first sums up the damage from the last 6 seconds and divides by 6 before displaying that value and drawing lines between each point.

    So, second #7 on the X-Axis displays the sum of 2-7 / 6. 8 on X-Axis displays the sum of 3-8 / 6. Etc.

    It is useful because it evens out the peaks and valleys without completely flattening the line like Avg DPS does.


    What you are talking about is *Average* DPS at some arbitrary chosen point, and that's not really the purpose of the graph.
    Sancus likes this.
  7. Xorsazis Augur

    Just wanted to say, never knew how much I missed using this program until it was gone. It's one thing I check on almost daily to see if there's an update and I applaud your work and ability/skills in making it what it is.

    I hope you've had time between debugging to enjoy your holidays! :)
  8. Pirlo Augur

    Yes....yes... I comprehend all the processes now
    [IMG]
  9. Beimeith Lord of the Game

    Well, I *think* I got all the damage being read correctly now after last night.

    Now have to finishing the calculating and formatting so you get pretty finished numbers.
    Scornfire likes this.
  10. Scornfire The Nimbus Prince

    Where do I send the strippers?
  11. Beimeith Lord of the Game

    To college. Unless it's one of the ones I like.
  12. Scornfire The Nimbus Prince

    It's Drogba
    GoneFission, Pirlo and Brohg like this.
  13. Beimeith Lord of the Game

    I'll just leave this here:
    [IMG]
  14. Tucoh Augur

    Looks like Whaa needs to pitch in for some emeralds! (Very cool table btw).
  15. Beimeith Lord of the Game

    For reference in case it isn't entirely obvious:

    The primary sort is Actual Heal, with Full Heal as a secondary sort.

    Heals that are not attributable to a healer like Auras (e.g. Theft of Essence) use the spell name as the Healer name. If there is NO spell name it gets filed under Unknown Spell.

    DI is also a special case.
    Tucoh likes this.
  16. Ultrazen Augur

    It's funny that this 20 year old game, has some of the best and brightest people attached to it. You're doing god's work, thanks!
    Beimeith likes this.
  17. Beimeith Lord of the Game

    Ok this is the same thing, but excluding swarm pets. I'll probably have that be optional.
    [IMG]
  18. Allayna Augur



    So, are we no longer gonna be able to see a healing parse on a single person?
  19. Brohg Augur

    HealOverview versus Healing tabs
    Waring_McMarrin and Beimeith like this.
  20. Beimeith Lord of the Game

    If you guys have suggestions for improvement let me know. I literally just did this an hour ago so nothing is set in stone yet.

    Things that will most likely be added:
    • A Total line at the top
    • Option to hide people that did 0 for both AH/FH (such as ambiien on the no-pet option above)
    • Buttons to send summaries to clipboard
    • A rank column
    • Column that tells you % of your total healing that was overhealing (maybe)
Thread Status:
Not open for further replies.