SDL_Config / News: Recent posts

SDL_Config 1.2 stable released

Another stable version of SDL_Config has been released and many important changes have been made - the most standing out is the implementation of key value replacement, which is similar to macrodefinitions in C++, allowing entries which value is partly based on other entries - this empowers users with new possibilities.

SDL_Config is a library designed for reading and writing configuration files in an easy, cross-platform way. SDL_Config supports the usual .ini format with additional extensions (like multiple values per entry) and gives user powerful API with great documentation. You can download the latest version here: http://downloads.sourceforge.net/sdl-cfg/SDL_Config_1.2.zip... read more

Posted by Koshmaar 2008-07-11

SDL_Config 1.0

SDL_Config is a library designed for reading and writing configuration files in an easy, cross-platform way.

Another version of it has been released and many important changes have been made - you can rejoice for having stable 1.0 version. I decided to make a big step in numeration of versions, because of the changes done, and because SDL_Config was rather stable and feature-complete since a long time ago.... read more

Posted by Koshmaar 2007-08-19

SVN migration and next version

Hi, it's been some time since last update :-) Today I migrated SDL_Config from CVS to SVN and there are big chances that at last it will stay up-to-date with the content of my hard drive.

Also, I'd like to announce that in my free time I'm working on SDL_Config 0.7 which, among few bugfixes and documentation clean up, should contain following features:

- operations on comments
- optional C++ interface to SDL_Config
- iteration over values in group
- and probably one additional surprise :-)... read more

Posted by Koshmaar 2007-02-28

SDL_Config 0.5

SDL_Config is a library designed for reading and writing configuration files in an easy, cross-platform way.

Another version of it has been released and many important changes have been made.

What's new / improved:

Major:

- multiple value entries are supported!
- added CFG_USE_MULTIMAP define which makes SDL_Config use std::multimap instead of std::map to store groups, so now you can have groups with the same name
- lib can be compiled as DLL (uses DECLSPEC predefined by SDL) - by default it builds DLL, however you can still easily build static library
- itoa got removed in favour of sprintf, so now SDL_Config is almost -ansi compatible(?) (but VS 2005 throws warnings about using deprecated function).
- almost -ansi compatible (except long long, which is referenced in sys/types.h included by SDL)
- confirmed that it works with SDL 1.2.11 and that it can be compiled by Visual Studio 2005 (+project files attached)
- due to SDL_config.h file which has been added to SDL in 1.2.10, and which conflicted with my own SDL_config.h, I had to rename my to SDL_config_lib.h
- changed versioning scheme from single float value to three ints accessed through SDL_version - the same as in SDL/SDL_TTF/SDL_Image etc.... read more

Posted by Koshmaar 2006-10-09

SDL_Config 0.4

SDL_Config is a library designed for reading and writing configuration files in an easy, cross-platform way.

Third version of it has been released and many important changes have been made.

What's new / improved:

Major:

- added function which returns the number of groups (CFG_GetGroupCount())
- added functions for iterating through all groups (CFG_StartGroupIteration(), CFG_SelectNextGroup(), CFG_IsLastGroup(), CFG_RemoveSelectedGroup()) and removing selected groups when iterating (CFG_RemoveSelectedGroup())
- added function for changing the direction of iteration (CFG_SetIterationDirection())
- added functions which return currently selected file (CFG_GetSelectedFile()) and its name (CFG_GetSelectedFileName())
- changed behaviour of CFG_OpenFile and CFG_OpenFile_RW: now, if operation was successfull, new file is always selected
- added flag CFG_COMPRESS_OUTPUT to CFG_SaveFile(), which removes all spaces, that otherwise would be added to improve readability etc.
- compile time define CFG_REMOVE_GROUP_SPACES controls whether spaces from within groups will be removed
- compile time define CFG_ASSERT_NULL_ENABLED which asserts places where pointer to file could be nullified (by programmers error)... read more

Posted by Koshmaar 2005-10-19

SDL_Config 0.3

SDL_Config is a library designed for reading and writing configuration files in an easy, cross-platform way.

Third version of it has been released and many important changes have been made.

What's new / improved:

- optimizated performance of parsing (CFG_OpenFile) by 21% and saving (CFG_SaveFile) by 6%

- more options for saving files available (especially, saving file so that it resembles original file)... read more

Posted by Koshmaar 2005-09-01

SDL_Config 0.2

New, second version of SDL_Config has been released and it's badder and better than ever! ;-)

What's new / improved:
- now, SDL_Config is using everywhere SDL_RWops streams for loading / saving files
- there is some support for C like multiline comments /* */
- original post-comments loaded from groups and entries are saved to file
- more test programs (ie. saving / loading config files to / from compressed .gz files!)
- better documentation
- implemented other utility functions (RemoveGroup, RemoveEntry, GroupExists, EntryExists) and slightly changed others interaface
- cleaned CFG_SetError() and CFG_CRITICAL_ERROR stuff, so that it's consitent
- many misc bugfixes
- and last but not least, I managed to compile SDL_Config in Visual Studio in C++, and test programs in C and C++! Also, I've added VS project files for library and test programs.... read more

Posted by Koshmaar 2005-08-16

First release: SDL_Config 0.1

I'd like to announce, that today, first public release of SDL_Config is ready to be downloaded and tested.

In current version (0.1) internally are used strictly-C++ constructs, such as std::map, std::iostreams, std::string etc. so you must use C++. C is currently not supported.

However, despite that fact, library was thoroughly tested, and can be used in real-life projects. All standard types are supported (bool, int, float, text), groups and comments are correctly parsed, and files can be saved without any problems. Most .INI files should be parsed without problems.

Posted by Koshmaar 2005-08-03