Después de haber dejado esto abandonado unos meses, ayer decidí avanzar un poquito con esto y me puse a ver como andaba el tema, porque ya no me acordaba.
Vi que la ultima vez había liado una buena intentando dibujar usando OpenGL, había tocado tantas cosas y funcionaba peor que la versión original que tiraba de .NET para dibujar. Así que, decidí borrar toda la parte del OpenGL y reescribirlo todo pero usando esta vez SDL.
Una vez preparado todo, fue bastante fácil adaptar el código, aunque me dio algunos problemillas con las transparencias. Pero en general, va mucho mas rápido que las otras dos opciones que elegí anteriormente.
Después de haberme quitado este problema de encima, que ya me tenia cansado de estar ahí atascando, me he puesto hace un rato con los eventos. La verdad es que tenia bastante trabajo hecho desde la ultima vez, así que solo he tenido que reparar un par de fallos y (aparentemente) funciona bien la parte de los eventos en el editor (solo esta creado el evento Mostrar texto…). Así que me puse escribir el código para guardar esta información en los archivos de mapa.
Después de comprobar que guardaba y cargaba bien los datos, cierro el proyecto del editor y abro el del juego y empiezo a hacer el código para cargar y administrar la información de los eventos, esta vez en C.
Después de un ratito pegándome con los punteros para cargar las listas de eventos (con lo fácil que son las listas en .NET), hago que compare la posición del evento con la posición del personaje y muestro un pequeño texto de depuración.
Aquí dejo el vídeo resultante: