I just checked, out of curiosity, and the non-extension files don't appear to be needed by Maptool.
For reference, I opened the .rptok file with winzip and removed them all, and the tokens drop into MapTool just fine; in both build b91 and your NERPS version. This will just make creating the .rptok file easier later.
As for the development platform, it's purely as you mentioned, comfort level. I've been writing small apps (as addins) for my company's software (SOLIDWORKS) for nearly 13 years, starting back in VB6. In that time, I should have learned C# and hence Java as a byproduct. Unfortunately, I've never sat down and learned the syntax well enough to be comfortable with it. I always end up wasting a bunch of time trying to get the syntax right, when I could just write it in VB quickly; same goes for WPF. I spent weeks figuring it out, wanting to benefit from the automatic binding of WPF, but in the end I abandoned it.
I'm more than happy to share my source, which you can use if you want to determine how I'm reading the .por files from MapTool. I'm just using serialization and took the time to create
all the classes that match the xml they output (this is finished).
Now I'm working on transferring the data to similar serializable objects for the MapTool xml in the .rptok file. I'm also spending time determining how I want this whole process to work. I really like what Dracones has written, so much, that it was the reason I ended up purchasing Hero Lab. The challenges I'm having however (
http://forums.rptools.net/viewtopic.php ... 3&start=45) have kept me from implementing it the way I wanted.
So to your final point, I am planning on implementing the ability to map any properties I can read from HeroLab to any property in MapTool. As for the Macros, I'm going to create a macro editor (no context sensitive tools) in my app, where you can decide / write the macros you want for your tokens (similar to what he created later on).
Some of this is reinventing the wheel, but I was debating between using HeroLab in parallel with Maptool. I find it really nice to do as much as possible in MapTool as possible however. I'm NOT looking to convert every pre-generated character in Pathfinder existence like he was. Mine is on a token by token basis, though, you can still create multiple tokens at once.
I've included the class library I've written to read the Hero Lab Files here:
All of the classes in the .dll are public. I'm not familiar, as mentioned with Java, but in .NET, if you call HeroLab.LoadPORFile(filenames()) (the only argument is an array of file locations) it will return a collection, or rather a List (Of Character) objects.
You will most likely need to have .NET 4.5 on your system as I'm using the latest ZipArchive class which requires it to read and write the final files. I am also extensively using the XML.Serialization and the Security.Cryptography classes.
These objects contain basically everything relevant I have found in the Hero Lab files. The top Object is a serialization of the index.xml file. So it contains information about the .por (.zip) file itself, which is where the files are located for the characters (.xml, .txt and .htm) It also copies the contents of those files to a string (I'm planning on using this in Forms in MT).
Within this Object is another Object called CharacterData. This contains, basically, everything from the .XML file for each character. (I have not yet written the code to extract Minions from parent characters, I was going to get the rest of this working first).
These objects are deep, but not complex (I'll add an extract function to the top level class eventually). I'm also using the property and field names as created by HeroLab for now. I am looking at renaming a lot of these to make them a little more legible in my IDE. This however requires annotating every object in my code with the matching node names in Hero Lab's XML file. I spent over a day writing these as is.
On a side note, it would be money if the Handout image could accept an htm or pdf to show an actual character sheet