Enter: XML
Today I realised that perhaps the best way to store data about graphics, sounds, objects and actions would probably be XML.
After creating some basic XML files containing the data for my meager game, I have come to realise that I was correct. Using XML files might create a larger file, but in the end I believe it to be worth it.
XML makes it easy to store the data about all kinds of shit, and by using DTDs I can even set default values for rarely used fields and all that kind of stuff.
In other words, the ambiguity of ["ship-01","ship.png",12,5,1] was replaced with
<ship type="ship-01">
<action name="default">
<animation name="ship-01-default"/>
</action>
</ship>
With the animation itself being in a different place. Basically I believe this will allow me to easily create lots of versatile templates for my game without having to wonder down the road what the hell it all means.
I am currently working on parsing the XML files with libxml so I can start using the data from the XML files. It has taken me some time to figure out how the stuff works, but I think I got a grasp on it now and tomorrow I should be able to shun the python data files and just use XML. I hope.