An interesting design decision O_o

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
Post Reply
koRno

An interesting design decision O_o

Post by koRno »

After searching round on the web for a very long time looking for a graphics engine that is powerful enough but also flexible enough to fit into my current project (which is a complete rpg toolkit) i have to say i how happy i am that i have found this engine, a very warm thanks to the author(s) ! :)

Anyways onto the main topic:

My rpg "core" engine works on the concept of a kernal which manages tasks that the rpg system (or os as i like to call it :P) needs, for example tasks include the audio manager, input manager and script manager - the game that the user writes is itself a task.

Now each task is derived from a base class (ITask) and adds it self to the engines kernal by calling the CKernal::AddTask(ITask*) and this registers the task with the engine.

Once all set up is complete the engine then calls CKernal::BeginTaskLoop()
this loops through all the tasks until each task is complete (the ITask interface provides the means to detect this (IsDone() method).

This is my tried and tested methodolgy for my engine and I was wondering, do you think that this super cool graphics engine you have (:P) will be able to work in this sort of fasion (ie be able to be used as a ITask derived task), coz i really dont want to rewrite my engine design.... again....... :P
niko
Site Admin
Posts: 1759
Joined: Fri Aug 22, 2003 4:44 am
Location: Vienna, Austria
Contact:

Post by niko »

Sure, I think it would work. The only problem you may encounter is, that also the Irrlicht Engine receives and processes User Input. Don't know if this works with your input manager.
korno

Post by korno »

That wouldnt be a problem as i can always disable my input manager by commenting out this single line of code :)


CKernal::GetSingleton()->AddTask(CInputManager::GetSingleton());


Well im of to test it, :) and hi! you should hear from me from now on :P

btw if you need any help developing the engine, i would be more than willing to help.

Cheers man.
Post Reply