I've fully replaced the old text file with the new XML system. I also started work on replacing some of the hard-coded values with data-driven. So far, I've made the game to load the sprites based on the XML values, and updated the game to handle the new system. This means that you are no longer limited to 6 ships per size, 5 sizes plus one big ship. You now can have 2 ships for size 1, skip sizes 2 to 6, have 15 ships for size 7, and the game will handle all of that!
I also added default ship names loading. So for example, if you have names "Doombringer", "Slayer", and "Despair" for size 2 ships, when you select size 2, one of those name will randomly be selected to fill the name text box. Of course, you can change the name. This system is similar to MoO 1's ship naming.
When I finished all of this, I ran into some bugs with the dropdown menus that I didn't encounter before, and fixed those. Now it's all working flawlessly! However, when I selected the biggest ship (it wasn't loaded before), I see a problem in the design screen. So I'm going to scale all the ship sprites to the same size in the design screen to fix this problem. Here's a screenshot showing this, and what I have so far!
After that's done, next up is the loading of starting ship/system information! Then the data driven conversion is done! Whew! Getting there...