Seed Framework is a multiplatform C++ 2D game development framework that aims mainly at recompile only portability between a wide range of platforms and consoles.
Implement a skinnable main menu helper class (with sprites, position information, scale information, sound, etc.).
The usage will be by inheritance. eg. virtual methods OnStart, OnOptions, OnCredits, OnQuit as basic buttons and extensible.
Implement a base OSK skinnable that has basic input methods to read strings (ie.: single line, multiple lines, max. length, etc.);
OSK must send and receive IInputKeyboard events;
OSK can apper automatically when it is expected an IInputKeyboard event is needed and the plataform doesn't have a physical keyboard;
We need a way to choose what kind of singleton for each platforms, if it is a static or dynamic allocated object. Some platforms may not have enough stack to use static singletons (ie. PSP). But some must use it for performance (ie. NDS, Wii).
Header/cpp clenaup. As Seed is now Open Source, we do not need to isolate all implementation from headers. We can merge back some code and enable inlining. Most of dummy .cpp (some interfaces, events, and others) may be killed forever reducing code bloat.
To Implement a console system. It must be able to manage variables and commands. Support to history, auto-completion, etc. Needs a hardcoded/embedded system font.
Create a kind of auto scale that will automatically scale the text so it fit the area.
For TextArea, create an auto adjust that will find the best height and width to fit the text.
A base class with sound effects volume slider, music volume slider, graphics effects toggle, full screen/windowed toggle, cursor toggle, etc. Extensible by inheritance.
Colocar o objeto em ponto 'zero' pronto para ser configurado e utilizado;
Reset:
Limpar o objeto e colocá-lo em ponto 'zero' novamente como se tivesse acabado de ser inicializado;
Shutdown:
Destruir um objeto liberando qualquer recurso que utilize e zerando seu estado. Objeto não poderá ser reutilizado a não ser que seja feito um Initialize novamente (um Reset não válida o objeto);
Seed MUST be supported on browsers, to get that we need study and create a PoC using NPAPI/ActiveX(Qt?) and or other custom plugin API (eg. Firebreath - http://code.google.com/p/firebreath/).
But, we also need to implement a AS3 interface to use Seed with Flash 10 - Alchemy. Seed on Flash is a VERY important feature.
Responsável pelo carregamento, alocação e gerenciamento do Resource.
Unload
Responsável pelo descarregamento e liberar a memória utilizada pelo resource.
A idéia é que o ResourceManager? possa descarregar e recarregar resources conforme seja necessário para manter o aplicativo rodando e respondendo. Por exemplo, em um aviso de low memory, o Resource Manager pode identificar os recursos menos importantes no momento (que não estejam sendo utilizados) e descarregá-los. Se em algum momento o aplicativo necessitar de algum recurso descarregado o resoure loader irá encontrar e carregar novamente. Essas ações devem poder ocorrer sem interferir nas configurações dos objetos atuais que fazem uso de tais recursos. Por isso o Load/Unload devem evitar alterar os estados do objetos que sejam idependentes de um recurso estar disponível ou não em qualquer momento (ie. Reset do objeto no Load/Unload).