SourceForge project page
Web Links

SDL_Config: current version: 1.0 (stable), not working on next (yet).

Current plans for SDL_Config library developement (they may change, bold shows what's already done):

 |             VERSION           |
 |               0.1             |
 |     Released on: 3.8.2005     |

  - test interface
  - C++, cpp strings (std::string), STL (std::map), iostreams
  - static lib
  - loading / saving config files
 |             VERSION           |
 |               0.2             |
 |    Released on: 16.8.2005     |

  - using inside: SDL_RWPOS stream for loading / saving files (no more std::iostream)
  - some support for C-like multiline comments /* */
  - saving post comments from groups and entries to file
  - better documentation, bugfixes etc.
  - more test programs
  - implemented other utility functions (RemoveGroup, RemoveEntry, GroupExists, EntryExists)
  - cleaned CFG_SetError() and CFG_CRITICAL_ERROR stuff
 |             VERSION           |
 |               0.3             |
 |     Released on: 1.9.2005     |

  - performance benchmark of saving / loading
    (+ optimizations of slow parts, parsing (CFG_OpenFile) by 21% and saving (CFG_SaveFile) by 6% )
  - more options for saving files (especially, type of sorting)
  - full support for C-like multiline comments /* */
  - saving pre comments from groups and entries to file
  - better documentation, bugfixes etc.
  - new test program
  - new functions: CFG_GetSelectedGroupName() and CFG_ClearFile()
  - more liberal parser

 |             VERSION           |
 |               0.4             |
 |   Released on: 19.10.2005     |


 - 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 equal to null (by programmer's error)


 - fixed bug - additional " (CFG_DOUBLE_QUOTE character) was added after post comment to some text entries
 - fixed bug: now groups are also saved in original order when using CFG_SORT_ORIGINAL
 - integer values that don't fit into Sin32 are now detected also by their exact value (not only length)
 - fixed misc things, which could result in potential bugs
 - improvements in documentation, fixes, clarifications etc., source code more readable,
   removed some deprecated constructions etc.

 |             VERSION           |
 |               0.5             |
 |    Released on: 9.10.2006     |


 - 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).
 - well, 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 etc.

 - third option for bool users - SDL_bool, also introduced new way of setting bool version
 - back to begin_code.h / end_code.h include, removed unneeded macro CFG_BUILD_STATIC_LIB
 - fixed little bug when iterating over groups which appeared on VS8
 - improved some tests (+created new one: 007), as well as library code modularization
 - all external functions use SDLCALL (defaults to __cdecl on most platforms) which is a macro predefined by SDL
 - managed to run test 006, which is a SDL_Config test written in C, in VS 2005 Pro :-)
 - SDL.h is not included in SDL_config_lib.h, it includes only headers that are necessary
 - fixed bug in CFG_OpenFile: file stream wasn't closed
 - fixed bug in CFG_SaveFile: now passing 0 as filename will properly save everything to the same file
 - documentation was polished a bit, also now it's built using newer version of Natural Docs

 |             VERSION           |
 |               1.0             |
 |    Released on: 19.8.2007     |


  - iteration over values of a group
  - CFG_Settings allowy to modify library behaviour AT RUNTIME, instead of at compile time
  through clumsy #defines
  - first, rough version of ConfigFile (C++ wrapper interface to SDL_Config)
  - operations on group and entry comments
  - completely rearanged tests, more auto testing, new tests 010, 011 and 012
  - improved documentation
  - multi value interface extended: added CFG_GetNumberOfMultiValueEntries() and

  - CFG_StartGroupIteration takes additional parameter, the type of sorting used (alphabethically
    or original order from cfg file)
  - added CFG_ClearGroup() and CFG_GetSelectedEntryName()
  - extended functionality of CFG_GetEntryType (pass CFG_SELECTED as key to operate on
    entries during iteration)
  - VS8 Debug target outputs SDL_Config_debug.dll instead of SDL_Config.dll (used by tests in Debug target)
  - CFG_StartGroupIteration bugfix: now it correctly operates on files without any groups
    (previously it was crashing)
  - removed default parameter from CFG_RemoveGroup
  - changed SetIterationDirection to SetGroupIterationDirection (wrong name in the first place)
  - few litte bugfixes, removed a lot of warnings, code clean

 |             FUTURE            |

  - support for "macrodefinitions"
  - unicode support in C code and unicode support in C++ code via std::wstring
  - choosing between float / double in interface 
  - test on platforms other than Windows (probably throgh SourceForge Compile Farm)
  - provide library projects for Code::Blocks and maybe other IDE's, the same for tests
  - final version of library, with all the features implemented and extensively tested
  - code clean
  - finished website
  - full, polished documentation via NaturalDocs (+pdf version)

Posted by Koshmaar on December 31 2005 16:27:532387 Reads - Print


Forgotten your password?
Request a new one here.
Banners Logo

Get Firefox!

Copyright © Hubert "Koshmaar" Rutkowski 2005