Estado actual de la v5.0

Algunos de los recursos fueron diseñados hace muchos años y tenia que conseguir un modo sencillo y eficaz de poder actualizarlos a una nueva version interna que permitiera facilmente agregar mas caracteristicas y tras pensar y ponerme con el mitico papel y boli, consegui un metodo que actualizara de forma transparente todos los recursos sin riesgo de perder nada, el incoveniente es que los nuevos recursos no seran compatibles con versiones anteriores de la libreria, aunque bueno, esto no es muy importante porque todos deberian empezar a usar la v5 y olvidarse de las anteriores :).

Por el momento, he actualizado el recurso fuente que he aprovechado para agregar una caracteristica nueva: el kerning. Ahora es posible activar un kerning en tiempo de ejecucion o seleccionar uno directamente desde el EditorDPF. Esto lo necesitaba alguien de alemania que esta terminando un juego de resolver crucigamas… a ver si lo termina y me envia algun screenshot.

Ahora me tengo que meter con la actualizacion del recurso sprite. De este modo, agregare las deseadas HotX y HotY para empezar el render desde esas posiciones, lo hare por cada animacion posible, me parece que bajar al nivel de frame seria un engorro grandisimo y poco util, y si lo hago a nivel de sprite, me cargo mucha funcionalidad, asi que el nivel adecuado es el de por cada animacion.

Despues de esto y tras el fracaso de las pruebas con algoritmos de escalado con filtros de alta calidad, voy a utilizar sdl_gfx y me quito de lios, he conseguido optimizar en velocidad en modos 16bits y 24bits y el resto, por defecto, sdl_gfx lo hace bastante bien y rapido. En el apartado Benchmark, pondre mas info sobre este “fracaso”.

El tema es que a IScreenFX tengo que añadirle un par de funciones nuevas:

-Flip() (ya esta implementada)
– Mirror() (ya esta implementada)
– Scale(), admite como parametros un float con el factor de escalado o el tamaño final. X e Y independientes.

– Rotate()

Tengo que terminar las dos ultimas usando sdl_gfx y despues hacer pruebas para ver que todo es correcto.

Acto seguido, ya podre incorporar escalado y rotacion a los sprites :). Como no se podra hacer en “realtime”, voy a utilizar un metodo que colgare por aqui por si alguien tiene alguna idea mejor, adelanto que se creara un nuevo sprite con su surface por cada escalado y rotacion que hagamos, es decir, gastaremos mas memoria a cambio de no tener que usar la cpu y matar las fps de cualquier juego.

Todo esto que he comentado esta al 60%, espero en este mes poder terminarlo para seguir con otros puntos de la nueva version…pero eso es ya otra historia..digo post 🙂


One Response to Estado actual de la v5.0

  1. Harko says:

    Ostras rotacion, que lujazo 😀

    Ya que estamos podrias echarle un vistazo al editor DPF, cuando pones una animacion en modo ping pong sufre un pequeño paron en el ultimo sprite. Me parece que lo repite.

    Voy a intentar implementar eso en codigo pero no va a ser lo mismo eso seguro. Sabes si hay alguna manera de crear un sprite con el trozo de otro? Quiero decir, usar el blit o algo parecido para sacar las animaciones de una imagen en la que estan juntas e ir colocandolas por separado.

    Supongo que podria ir cargandolas por separado de diferentes archivos, pero es bastante curro y ocupa mas espacio el tenerlo todo separado.

    Harko.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.