Kigs framework - a multipurpose cross platform game development framework
Go to SourceForge to download the framework sources

Creating applications

Getting started

First get the sources from SourceForge svn server.
The easy way is to use Microsoft Visual C++ Express.
You will also need to install the Microsoft platform SDK.
You will need to install other SDK/API for some specific modules which are based on (Expat, Devil, DirectX, ...). Read each module documentation.

Try to build the samples (Samples folder), and take a look at the sources.
Build the html documentation using doxygen (read the readme.txt in the Documentation folder)

Initialise

here is a simple initialisation sequence :

// first thing to do !
Core::Init();

// create File Manager
ModuleFileManager* theFileManager=new ModuleFileManager("theFileManager");
theFileManager->Init(Core::Instance());

// get file manager singleton
FilePathManager* pathManager=(FilePathManager*)Core::GetSingleton("FilePathManager");

// add some pathes
pathManager->AddToPath("textures","*");
pathManager->AddToPath("gfx","ase");
pathManager->AddToPath("gfx","arb");
pathManager->AddToPath("sfx","cg");

// init time

ModuleTimer* theTimerModule=new ModuleTimer("theTimerModule");
theTimerModule->Init(Core::Instance());

That's it, you have initialised the framework (core), the filemanager module, add some search pathes, and init the time module.

Create instances

Now let's create a timer instance:
Timer* theTimer=(Timer*)(Core::GetInstanceOf("theTimer","Timer"));
theTimer->Init();

A timer has been created and initialised, giving current time like this :
double currentTime=theTimer->GetTime();

Use instances

Let's try to create a window and to set some parameters :

Window* newwindow=(Window*)(Core::GetInstanceOf("newwindow","Window"));
newwindow->setValue("PositionX",100);
newwindow->setValue("PositionY",100);
newwindow->setValue("SizeX",512);
newwindow->setValue("SizeY",512);
newwindow->setValue("FullScreen",false);
newwindow->setValue("Mouse Cursor",true);

Simple !

Yes, we tried hard to keep it simple !