With KaosScript v1.1, you can now save files, and you get full access to the blocks and values!
I'm not going to release the source code JUST yet, as I'm still picking through it to make sure it'll work fine in your project. If you got v1.0, it'll still work exactly like before, this is just with additional features.
v1.2 will come with a smarter parsing routine, and nested blocks.
v1.3 will hopefully have a debugger of some sort...
v1.4 will definitely have a more updated syntax with actual scripting capabilities.
v1.5 and up will probably be skipped, as after v1.4, there'll be such a huge update that it deserves to be bumped up to v2.0.
Keep checking up, KaosScript is a work in progress!
If you're wondering what KaosScript even is...
KaosScript is a very light-weight scripting/data-formatting language. As of v1.0, the complete syntax can be summed up in 3 simple lines.
{BlockType:BlockName
ValueName=Value
}
v1.0 is actually quite incomplete, it does not feature safeguards, such as, you'll get issues if you try to use a file that doesn't exist. The syntax is extremely basic and supports only float, integer, and string types. There are no quotation marks for strings yet, though this will become standard in later versions.
KaosScript is completely free to use, and comes without a license. This means you could just rename it and call it your own, I seriously don't care. However, in later versions, I'm thinking of doing a closed-source commercial version, released in DLL files.
It's not compatible with DBPro or anything yet, though I plan on adding some basic support for it.
The API is very simple and easy to use. There's a class named KaosScript, and nested within it, the KaosBlock class. Each KaosScript contains several blocks, depending on how many you put in the file. As of v1.0, the interface is not capable of saving its state, nor is it possible to edit the values (not even necessary without saving). However, this is currently being added. In later versions, more safeguards will be introduced, and a way to print errors to the screen via an error dump within the interface, with a method that returns the error on the top of the dump and deletes the dump copy. Another method will return the number of errors in the dump, so you can effectively put it in a for loop to print all the errors.
The syntax explains itself. The curly brackets are used to open and close blocks, and the colon is used to separate the block type from the block name (defined in the line with the opening bracket). Inside the block, values are assigned. Tabs are not allowed, or they will be considered part of the value name (will be fixed in later versions.) This means that with v1.0, you can use any kind of name you want, even with spaces.
The equals operator (=) is used to define values. The value name is on the left, the value is on the right, very basic, very easy.
I found this useful for saving game levels. With v1.1, this will be even easier to do, as you won't need to write your own routine to save a file.
I hope you enjoy KaosScript! (When I post the updated source, probably tomorrow.)