ConvertData.exe and some thoughts about mod file format

Hello Devs/IC/Stardock...

I was wondering if you would be willing to open source ConvertData.exe?  I am writing a full-featured Mod Manager for Sins and I am rolling my own code to parse the various entity files into classes.  Not difficult, just tedious... I am just curious if you have any particular way you parse the files.

Any info would be appreciated!

On a related subject, my mod file pipeline basically goes as so:

  • TXT or BIN parsed into classes only once when mod project is created
  • Classes serialized to one single XML mod project file (BTW - this reduces file size by over 50%)
  • On deployment:
    • Only changed classes are parsed back out to TXT or BIN to the deployment folder...  OR:
    • Selected mod project XML file is deserialized and parsed back out to necessary files (i'm looking at using a single XSLT transform to do this)

I won't go deeply into what I see as the benefits of an XML mod file format, but how hard would it be to switch to an XML format?

Some quick benefits:

  • MUCH easier to parse, query, edit, etc
  • Readable, commentable
  • Easier to work with in code in general
  • Serializable
  • Easy to validate (schema)

Any thoughts from devs or technie type users?

I'll have a MUCH longer thread regarding my Mod Manager project out soon.

Cheers!

6,514 views 7 replies
Reply #1 Top

XML would be better, definitely; however, it would be hard for them to switch to it. Their ConvertData, engine, and entire game structure is based off parsing the files in their given format. It won't happen, simply put.

 

It would be nice if they opensourced the convertdata tool, since I could then put it into my program; however, I do not see that happening.

 

Happy coding!

 

-Ian

Reply #2 Top

Yeah, i'm writing the code to parse Buff TXT files into classes... no fun at all.  Frigates, CapShips, and Abilities parsing/serialization done in a couple hours, but Buffs are a beast; mainly due to Instant/Periodic/OverTime Action variance.

Reply #3 Top

Enjoy :P I am way too lazy and busy with my real job to bother doing all of this, haha :P

Reply #4 Top

Live to code. Code to live.  It's an addiction my wife could do without.

Reply #5 Top

You have a wife already? Jesus. You are 19 right? According to your profile, at least.

 

I like coding, but I do it for a living, after coding for 8 hours in a day, I just want to rest when I get home. On weekends I like to go out, so it gives me very little time to code anything for a 3rd party ;P.

Reply #6 Top

19?  I wish... (except the not being able to buy beer part)

Incorrect profile.  I'm 29 soon to be.. sigh.. 30.

Wife. kid, dog, house, etc... all the usual accessories.

 

Reply #7 Top

I just noticed my profile says I am 62... and I can't easily change my info!

I am 21, haha, not 62.