# Gledplay

GledPlay es un SDK para desarrollar juegos para dispositivos móviles. Los juegos construidos con GledPlay corren sobre PC de escritorio con Microsoft Windows, PocketPC and Smartphones.
GledPlay contiene 4 módulos de desarrollo:
* GledDraw: Un framework de gráficos 2D orientado a Superficies, basado en DirectDraw.
* GledVideo: Un reproductor de video integrado con GledDraw.
* GledSave: Un módulo de abstracción del Sistema de archivos, que permita la lectura y escritura de archivos en paquetes.
* GledApplication: Un módulo específico para manejar los detalles de programación no relacionados con la lógica del juego.

## Dispositivos Soportados

'GledPlay está construido para:
* Microsoft Windows para computadores personales de escritorio.
* Pocket PC
* Smartphones
GledPlay fomenta el desarrollo sobre PC de escritorio, sin utilizar emuladores o dispositivos móviles reales. Una vez finalizado el desarrollo con GledPlay para computadores de escritorio, la aplicación se compila para las plataformas deseadas utilizando el mismo código. De esta manera se reduce el tiempo de desarrollo.

## GledDraw

GledDraw es un framework de gráficos 2D orientado a Superficies, basado en DirectDraw. Se maneja con entidades llamadas superficies, que serían similares al concepto de Sprite. Las características principales de GledDraw son:
* copiado rápido de superficies, con transparencia alpha blending o color clave.
* Cambio de tamaño, rotación, e inversión de superficies.
* Carga de archivos JPG, GIF, PNG y BMP.
* Escritura de archivos PNG y BMP.
* Superficies de 3 o 4 canales para simplificar las operaciones con transparencia.
* Escritura de texto, con fuentes normales o con alpha blended.
* Manejo de animaciones
* Clipping opcional
* Utilización de Shaders del sistema o personalizados, para personalizar los efectos del copiado de superficies.
* Traducción de Surface desde o hacia un HDC, para permitir el uso de la librería estándar de windows GDI sobre las superficies.
* Puntos, líneas, y rectángulos, con manejo de transparencia.
* Clase panel, para utilizar coordenadas relativas en los métodos de dibujo, y facilitar la modularización.
* Fullscreen en PC. (Los modos soportados son: 320X240, 640X480, 800X600, 1024X768)
* Zoom X2 opcional en desktop PC para facilitar la detección de errores.
* Soporte para Dispositivos de Altas Resoluciones (VGA en PPC, QVGA en SP, y dispositivos de pantallas cuadradas).
* Soporte para Pocket Pcs y Teléfonos inteligentes con pantallas cuadradas.

## GledVideo

Las principales funcionalidades de GledVideo son:
* reproducción de videos OGG Theora
* Manejo de subtítulos, utilizando an archivo de subtítulos SubRip

## GledSave

GledSave provee un API común para acceder a diferentes sistemas de archivo, basado en el Common Virtual File System en Yakarta. Es una interfaz simple que permite acceder a diferentes sistemas de la misma manera. Funciona para:
* Computadores de escritorio con MS Windows.
* Pocket PC
* Smartphones
* Archivos ZIP

## GledApplication

GledApplication maneja los detalles específicos de la programación que no están relacionadas con la lógica del juego como la inicialización de threads, el manejo de eventos, el ciclo del juego, los estados del juego, etc.
* Manejo de la aplicación como inicio y fin.
* Configuración de la máquina de estados para usar diferentes ciclos.
* Manipulación de los fps.