Imprimir
PDF

Integrando MyGUI

Escrito por Jose A. Milan.

Este fin de semanas empece la integración de My-Gui en Caronte, con idea de tener al menos 2 librerías en cada uno de los subsistemas del engine, siendo de momento GUI el único que quedaba en solitario.

¿Por que My-Gui y no <pon aquí tu librería de elección>? Buena pregunta.

Viendo las demos de la libreria, y sobre todo de los editores que trae, creo que va a ser una integración muy buena en Caronte, mereciendo la pena el esfuerzo a cambio de las recompensas, ademas su integración con Ogre es uno de los factores mas decisivos.

La idea en lograr abstraer la capa de GUI del engine, que ahora mismo esta bastante acoplada con CEGui, separando esta en un primer paso a su propio plug-in, y creando posteriormente un plug-in para My-Gui y una capa de abstracción para ambos, lo mas genérica posible.

Si todo va bien, permitirá activar, desactivar o combinar los 2 sistemas de interface dinámicamente en una aplicación.

Ya os contare como va el experimento.

Imprimir
PDF

Estamos en marcha

Escrito por Jose A. Milan.

Por fin compila correctamente todo el engine con Visual Studio 2010, tanto en Release/Debug Dlls como Release/Debug Static.

Parece que el actualizador de proyectos desde VS2008 no gestiono correctamente las propiedades de los proyectos, algunas estaban completamente cambiadas, y parece que el compilador también gestiona las librerías estáticas de forma diferente, dado que he revisado los includes en la versión de VS2008 y estaban igual. Después de una limpieza a fondo de las propiedades, librerías a vincular, todo parece estar funcionando correctamente.

Librerías actualizadas, compilador nuevo, todo funcionando... parece un buen punto de partida para experimentar un poco mas.

Imprimir
PDF

Otra vez en marcha

Escrito por Jose A. Milan.

Después de algunos problemas de configuración inesperados a la hora de actualizar varias librerías por fin he logrado compilar tanto en Debug como en Release.

Aun quedan un par de flecos sueltos en las compilaciones estáticas con los archivos de recursos, a ver si esta semana tengo algo de tiempo y lo resuelvo.

También esta pendiente actualizar los scripts de CEGui, dado que las fuentes no terminan de quedar bien con los cambios en el sistema de coordenadas, a ver si la próxima versión estable no vuelve a romperlo todo.

Bueno, no todo son malas noticias, dado que ya esta montada toda la infraestructura control de fuentes con Git, de actualización de librerías y de compilación.

Imprimir
PDF

Casi completado

Escrito por Jose A. Milan.

Bueno, hoy he logrado trabajar sobre el engine unas 2 horas.

La verdad es que ha cundido, ya compilan todas las librerías necesarias para compilar CoreLib, los plugins de core y ServerLib así como el servidor de referencia.

Queda pendiente actualizar CEGUI y el renderer de Ogre para CEGui, que creo que se ha movido del repositorio de Ogre al de CEGui. En cuanto tenga esta tarea terminada, compilare ClientLib, los plugins de clientes y el cliente de referencia.

Si todo va bien, el engine debería estar terminado para mañana a ultima hora del día.

 

Después de terminar con Caronte tocara actualizar Survival, pero esa es otra historia.

Imprimir
PDF

Retomamos el desarrollo

Escrito por Jose A. Milan.

Después de algún tiempo sin tocar el engine, hace un par de semanas empece a montar la infraestructura necesaria para volver a retomarlo.

Entre otras cosas, monte una maquina virtual con Windows 7 (SP1), instale VS2010, VS2008, DXSDK y el resto de librerías externas sin código fuente.

Una vez terminadas estas instalaciones, lo cual implico un par de tardes y media, empece a portar el engine desde VS2008 a VS2010. El proceso de importación fue bastante directo, sin errores, pero una vez fui a compilar el engine se desataron los infiernos.

Bien, no hay problema, solo va a necesitar algo mas de tiempo, pero después de algunos errores de configuración corregidos, me di cuenta que algunas de las librerías que estaba utilizando no eran usables en VS2010 sin ser actualizadas.

Después de unas cuantas búsquedas por la red y de unas cuantas descargas empece a actualizar las liberias externas que estoy utilizando (Lua, Luabind, ode, CEGui, Ogre3D, FMod, FmodEx, OpenAL, ...)

El proceso va despacio dado que los archivos de proyecto que estoy utilizando no son exactamente los originales que cada una de las librerías posee, sino versiones editadas durante los años para adecuarlas a las necesidades del engine.

A dia de hoy ya tengo actualizadas, Boost, Lúa, LuaBind, Ogre3d (aunque aun estoy dandole los retoques finales) y espero terminar con el resto de las librerías a lo largo de esta semana.

Una vez terminada esta actualización veré que cambios son necesarios sobre Caronte para que vuelva a funcionar y poder continuar con el desarrollo.

A corto plazo me gustaría implementar threading, posiblemente utilizando Boosts, siendo la capa de eventos la única que en principio debería verse afectada por este cambios, el resto de los sistemas no debería verse afectados mucho. (Crucemos los dedos)