279a09256e
Move spdlog lib. spdlog tenía un include especial, lo movemos para que sea más estándar.
UberElectron2023-08-12 15:15:42 +02:00
7f4cab4059
Update libs versions and camera fixes. Camera scale now works mostly fine. Bump SDL2 to 2.28.2. Bump Dear ImGui to 1.89.8. Bump JSON lib to 3.10.2.
UberElectron2023-08-08 14:30:06 +02:00
659b113318
Nuevo Render flow para los Drawables y mejoras. Nuevo flujo de render para los drawables, que ahora tiene más sentido. Investigado e implementado finalmente un sistema para no renderizar objetos no visibles. Optimizaciones varias. Constructor por defecto para Sprite, utilizando los assets por defecto.
drawable_rework
UberElectron2022-12-18 23:20:13 +01:00
08f566fda6
Cambios en Camera. Ahora la cámara hereda de Transformable. Preparando la "proyección" de Rects respecto a Camera. Probablemente requiera crear la clase Window para ello.
UberElectron2022-10-25 20:03:36 +02:00
724807e9f2
Assets & AssetManager documentation and security. Ahora en las tx, el SDL_Rect index 0 es la tx completa por defecto. Revisamos los Assets y el AssetManager. Añadimos seguridad en los métodos y controlamos excepciones. Reescribimos comentarios y recolocamos código.
UberElectron2022-09-25 19:07:00 +02:00
f2bf82e370
Migración del Renderer al nuevo sistema de Drawables. El Renderer extrae los datos de los drawables, eliminando la clase DrawCall. Los Drawables utilizan los nuevos Drawables. Aunque falta pulir la forma en que lo hacen.
UberElectron2022-09-19 20:10:02 +02:00
6b87711424
Nuevo Drawable. Cambiamos un poco la arquitectura del Drawable. Parece que todo funciona sin necesidad de tocar nada.
UberElectron2022-09-15 22:33:13 +02:00
a0889e78f1
Reorganizamos algunos archivos. Creamos la carpeta Interfaces para clases utilitarias comunes.
UberElectron2022-09-14 20:50:39 +02:00
4ee1ccb47a
Camera bugfix. Ahora existe una cámara por defecto en el renderer. Así, si no hay cámara asignada se utilizará esta.
UberElectron2022-09-14 19:41:56 +02:00
d141b77eaa
Optimizaciones y mejoras de Premake. Cambiar un par de cosas y hacer abstractos los postbuildcommands.
linux_support
Daniel-Garmig2022-08-29 19:31:10 +02:00
132f24720e
Some Rendering Stuff. Se ha añadido un método para cambiar el color de clear. Se ha abstraido la cámara del renderer para más versatilidad a futuro. Nota: La implementación de la cámara no es nada segura. Tocará revisarlo
Daniel-Garmig2022-08-29 17:54:34 +02:00
692812a710
Unificar Encoding. Revisado que todos los archivos son UTF-8 y espacios como indentación.
Daniel-Garmig2022-08-11 16:47:50 +02:00
006d223f57
Nueva Clase Engine. Se ha eliminado la antigua clase Game y movido a la nueva clase Engine. La clase Engine, encargada de iniciar las cosas, ahora está en el Engine Además, tiene seguridad en la inicialización. Ya no se inicia el juego si hay error al cargar libs o sistemas.
Daniel-Garmig2022-08-11 15:16:23 +02:00
b2d6a31275
Nuevo sistema de Escenas. Nos quitamos del medio la cosa rara del SceneBuilder. Simplificamos la estructura y la hacemos más o menos segura.
Daniel-Garmig2022-08-11 12:57:40 +02:00
614ab37ca5
Soporte Linux. Tenemos soporte para linux. Sólo faltaba este pequeño detalle, lo demás parece funcionar.
Daniel-Garmig2022-08-09 19:00:12 +02:00
b89b031f6c
El regreso tras mucho tiempo... Sinceramente, no sé lo que puede haber aquí.
UberElectron2022-06-07 22:13:53 +02:00
9098f16f81
Sistema de Renderizado de Texto (TTF). Hemos implementado un sistema para el renderizado de textos mediante fuentes TTF. Para ello utilizamos la librería SDL_TTF. Se ha creado una clase Wrapper (UE::Font) que gestiona una fuente. Está diseñado para poder tener un cache de fuentes de diferentes tamaños. Es posible que hagamos un refactor al AssetManager para convertir las texturas a un Wrapper (más que nada para limpiar el código del AsMng y llevarme la responsabilidad de las texturas a otro sitio.
UberElectron2022-02-21 20:17:47 +01:00
d19f4593d5
Event Handlers para Escenas y pruebas con Dear ImGui. Se a añadido un nuevo método a las escenas que permite pasar eventos para procesarlos. He realizado pruebas varias con Dear ImGui.
UberElectron2022-02-14 22:10:11 +01:00
77d78db774
Cambios en el renderer para facilitar el uso de ImGui por ahí, fuera del propio renderer. Implimentado un sistema de cámara y la consiguiente conversión entre WorldCoords y ScreenCoords.
UberElectron2022-01-31 20:59:07 +01:00
92f743edf2
Nuevo sistema de escenas mediante el uso de un SceneBuilder polimófico. De esta forma sólo habrá una escena cargada en cada momento. Actualización de las librerías Vendor Dear ImGui y SDL2 a sus últimas versiones. (Es posible que actualicemos ImGui al "Docking Branch" en un futuro). Preparación inicial para el renderizado mediante ImGui (SDL+SDL_Renderer). (Hará falta un pequeño rediseño al renderer para hacer posible el renderizado de ImGui fuera de UE).
UberElectron2022-01-26 21:14:27 +01:00
a9180fde92
Rediseño del sistema de Assets para simplificar las texturas y los "SpriteSheets" que ya no son una clase. Modificada la clase Sprite para adaptarse al nuevo funcionamiento de las texturas. Extraidas las clases Drawable y Transformable de Sprite, para poder hacer más objetos con esas características. Implementada una clase Time que calcula DeltaTime y limita los FPS. Al fin limpiamos el Main y eliminamos todo este código temporal. Cambios al sistema de escenas, pero se acerca un refactor completo al sistema. Hace bastante desde el último Commit. Ahí va todo. GLHF!
UberElectron2022-01-20 20:10:19 +01:00
a565bcfad2
Primera versión del sistema de escenas (probablemente sea una aproximación bastante incorrecta. Además, no se han realizado apenas pruebas). Sistema de Logging (¡Al fin!).
UberElectron2021-12-07 23:38:07 +01:00