As some of you might know, I've been working on my own parser for a bit.
Well, I've got it to a point where I'm ok with a more general release (which basicly means mnk forum and war forum), so letting people know so you can try it out and see if it's to your liking. This should still be considered beta quality, but it should be 'good enough' to use on a regular basis.
This is not a fully mature release. There are still bugs and little issues that are going to crop up.
The most problematic issue you're likely to come up against is the initial installation. It requires .NET 3.5 and SQLCE 3.5, which most people are not going to have. There's a readme.txt file on the download page that shows where you can get the installations for those from Microsoft.
Note that SQLCE is a lightweight database system (maybe a half dozen files, less than a couple MB); you're not installing a major database server on your computer. However I felt it would be better to do a proper installation of them rather than just include copies of the files in the .zip since the .NET install is going to be needed as well anyway.
The parser is not optimized for performance, though I've tried to improve it in that area several times. The active plugin tabs update in real time when parsing, and some of them (notably offense and defense) can bog your system down in a fast-moving party. If this is a problem, turn those tabs off in the Windows menu.
If you just want a quick summary that you can look at during the party, the experience tab is fast enough to not be an issue if that's the only one you want to leave open. Opening tabs brings those tabs up to the current status of the parse, so you don't need to worry about needing to leave them open in order to get that information after the party is over.
The UI and plugin tabs are designed more in line with Tazzlyn's parser in mind, being text in rich text boxes, rather than the HTML tables that DirectParse uses since, frankly, it was easier and quicker to put together. However Tazzlyn's parser is getting dated, is buggy in several areas, and doesn't seem to be available anymore. The advantages DirectParse has over KParser are speed and easy-to-understand summaries. However DirectParse pretty much -only- saves summary information, so a more detailed analysis is not possible. That's where KParser's advantage lies.
The parser in its current state parses almost everything that goes through the game window (as long as it relates to combat in some way; it doesn't do fishing or crafting or whatever), and saves all of that in a database. As the parser improves, you can reparse any existing parse to gain the advantage of bug fixes and such if information was incorrectly parsed the first time through. Reparsing is -not- needed to get information into the plugin tabs.
The tabs are a rudimentary plugin architecture. Each of the "plugin" dlls provides one or more tabs of information, which extract the data and present it in the UI. Ideally anyone can write up a plugin for distribution for looking at data or presenting data in a particular way, so you can customize it as you wish. The current set of plugins focus on the normal expected data (damage, accuracy, xp rates, etc). I hope to write up a few more to show some of the more interesting ways of mining the data (eg: enhancements, enfeebles, etc).
Unfortunately, as it does get into rather verbose detail in some areas, it will be a bit more difficult to put up a nice clean comparison of parses like Enil's been doing.
There are options to parse either from the .log files that the game generates or directly from RAM. RAM is the default, as it's faster and makes it easier to match up certain types of lines. Use the .log version if you want to run the parser on a separate computer, or if you want to catch the parser up on events that have already happened (eg: you fought an NM, then decide you want to see a review of the fight; start it in .log mode and have it read the existing files). And of course when patches break RAM parsing, you can always still fall back on log parsing.
If you're interested in seeing more of what's going on in the background, or trying to track down an issue, you can turn Debug Mode on. That will give you access to Debug Mode plugins, and generate a debugOutput.txt file that shows the results of every line parsed, plus all the entities captured. This file will also be generated on a reparse if you're in Debug Mode.
So if I haven't scared you away with all that, you can get the program (or source, if you're interested) from Google Code.


