Git Product home page Git Product logo

seed1's Introduction

seed1's People

Contributors

fungos avatar gonchor avatar johncc avatar patuti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

seed1's Issues

Modal dialog

Implement a modal dialog skinnable with customizable title, description, buttons (yes/no, etc.).

Main Menu generic and skinnable implementation

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.

OSK - On Screen Keyboard

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;

Refactor instanced static singletons

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).

Renderer rewrite

  • Create a SelectTexture method.
  • Must work with a batch of Vertex, TexCoords, Normals and other info that a IRenderable must produce and configure.
  • Must enable implementation dependent optimizations eg. Display Lists and VBOs.

Refactor Image to Texture2D

  • Refactor Image concept to Texture2D.
  • Must be able to create an empty image with custom HxW (preparing to RenderTargets).

Mesh primitive

  • Implement a basic mesh primitive class to represent any 2D or 3D objects;
  • It must accept a Texture2D;
  • Refactor ISprite to use it instead of having it's own vertex coords, texture coords and texture(?);

Code cleanup

  • 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.
  • Add copyright notice to every file.

Console Subsystem

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.

Strap screen management

Nintendo Strap warning must be handled by Seed considering lotcheck requerminets (the same apply if there any other requeriments as balance board);

Path object

Create IPath class and specific path types (Bezier/Spline, Polygon, Array, etc.)

Input Feedback

Create interface for input feedbacks (ie.: force feedback, rumble, sounds, etc.)

Study interface refactoring

Take in consideration (by order of importance):

  1. kiss (keep it simple and stupid), difficulty of understanding;
  2. readability (templates loses points here, complement kiss);
  3. performance overhead;
  4. dependency;
  5. compilation time;

Unit tests

Implement unity tests to detect regressions;
Implement coverage tests; (see gcov+zcov)

TextArea/Label: Dynamic adjustment

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.

Options screen generic and skinnable

A base class with sound effects volume slider, music volume slider, graphics effects toggle, full screen/windowed toggle, cursor toggle, etc. Extensible by inheritance.

Sprite refactoring

  • Validate the need of creating sprite directly from code.
  • Enable sprite to use a custom created Texture2D.

Define, standarize and document Initialize/Reset/Shutdown pattern

  • Initialize:

    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);

Button class refactory

Rewrite button to simplify its interface.
Button should inherits Label and receive a Sprite.
Implement skin functionality.

Seed on Browser

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.

Define, standarize and document Load/Unload pattern

  • Load

    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).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.