lrParser is a combat parser app that will provide as live a view of your ffxiv combat statistics as is possible without the use of memory reading.
The app consists of three separate threads. One thread monitors the chosen log directory for new files. The moment one is added it is snapped up and made available for parsing internally in the app. File timestamps are stored for time-related calculations (dps, hps etc.). The second thread is the parser. This takes files provided by the monitor thread and parses them sequentially. From the moment the user clicks the parse button, these two threads will continually run, making sure the parsed data always reflects what is in the log directory, no matter how many new files are added to it by ffxiv.
The gui runs in the third thread and provides a table view of the parsed data. This table dynamically updates whenever the monitor and parser threads process new files. The table has columns for name, hit %, crit %, damage, dps, healing and hps. Mousing over columns will provide additional details about it (please see the uploaded screenshots). The table is sorted by total damage and healing done by default, but this can be changed by clicking on the column headers.
Since dps and hps calculation is based on file timestamps, it is recommended to clear out your log directory (by deleting files or copying them elsewhere) before parsing is started to get an accurate measure of these values. Clearing out the directory after joining a party or before a boss fight are good examples of when this can be done. I plan on adding an option to do this automatically in the future.
The first time you run the app you'll have to set up the log directory. This will be written to a properties file in the ".lrParser" directory in your user home directory so that you don't have to perform this process more than once.
- If you clear out the log before you start parsing, it will be empty until the next file is output by ffxiv. The time this takes can vary according to the rate of chat log output.
- Dots are not visible in the log, and are thus not included in the damage.
- Hots are not visible in the log, and are thus not included in the healing.
- Dps and hps are not displayed until at least 1-2 files have been parsed, to create a reference timeframe.
- Since ffxiv only writes out logs in 4kB chunks, you could potentially end a fight in the middle of one chunk and not have the parser reflect the changes since the previous file was written out. Sadly, there is no way to circumvent this.
Please feel free to submit bug reports or feature requests. Any feedback is appreciated. Especially the heal parsing could do with some testing.
- Java 6.
- The issue where files were sometimes parsed multiple times is now (hopefully) fixed. Be sure to let me know if it still persists!
- Double clicking on a row in the damage table will now show a dialog box with a more detailed breakdown of that player's abilities. Note that this dialog's data doesn't automatically update, so if the data in the table changes after you open the dialog, you will have to reopen it in order for it to reflect the changes. Next version will expand on this by also including misses, parries, evades and blocks in the hit type table. Dialogs for the healing and mitigation tables will also be added then.
- The application will now generate a default list of named enemies. If you've already made one, it will add to the existing one. You can freely continue editing the list without worrying about losing your changes.
|File Name||Release Type||Game Version||Downloads||Date|
|lrParser 1.3 - source code||Release||211||09/16/2011|
|lrParser 1.2 - source code||Release||24||08/17/2011|
|lrParser 1.1 - source code||Release||16||08/16/2011|
|lrParser 1.0 - source code||Release||14||08/12/2011|