Thrive file format

We need to select a format to store configuration data in.

Right now all processes etc. are in just a plain Lua file. And everything else is in Ogre’s config.
Moving forward ditching the Ogre config dialog we need a config file for thrive. And then other configuration that is right now in lua files could also be moved in there (or a separate file).

So I’m proposing that we adopt a JSON parser all Thrive’s configuration needs. I’ve had good experiences with this header-only library: https://github.com/nlohmann/json

If no one opposes or has any better ideas (no XML, please) I’m going to add that to Thrive once I start working on the options menu.

2 Likes

What would be the improvements over lua files?

First off, I don’t think it’s a good idea to have resolution, sound and such options in a Lua file, so it is required anyway.
And it is easier to edit a single configuration file than to go around and hunt for Lua globals and other places where the settings are. Like SPAWN_INTERVAL variable that is hanging out in some random Lua file.

EDIT: and I think some people have said that they were scared of editing a Lua file, because that would be “programming and too hard”, or something like that.