diff --git a/Docs/changelog.txt b/Docs/changelog.txt index e4eb9fc..0fce735 100644 --- a/Docs/changelog.txt +++ b/Docs/changelog.txt @@ -2,6 +2,31 @@ N'gine Changelog -------------------------------------------------------------------------------- +2022-12-24 Ver.1.11.0-stable +-------------------------------------------------------------------------------- +- Añadido el archivo de configuración de flags de compilación de N'gine. + Esto permite compilar la librería desconectando ciertas funcionalidades o + usando otras alternativas si se ha de desarrollar para plataformas con GPU's + de bajo rendimiento o dispositivos portátiles o en sistemas donde no se + dispone de las últimas versiones de las librerías usadas por N'gine. + Entre otros, es posible desconectar el uso del backbuffer (perdiendo ciertas + opciones de filtrado bilineal) o desconectar las funciones avanzadas de + audio de SFML, disponibles solo en las últimas versiones de la misma. +- Actualizada la versión de LodePNG. +- Añadidos los operadores += y -= a la clase Vector2 y sus derivadas. +- Añadidos los operadores *= y /= a la clase Vector2 y sus derivadas. +- Reescritura parcial de todas las herramientas para N'gine, para una mejor + detección de los parámetros y una apariencia más homogénea. +- Reescritura parcial de todas las clases internas de N'gine, convirtiéndolas + en singletons al fin de evitar conflictos por algún descuido. La clase + NGN_Camera no se ha convertido, dado que en algún proyecto puede ser + necesario disponer de más de una instancia de esta clase. +- N'gine, los templates y los ejemplos se han configurado para seguir la + norma C++ 17 (estándar). +- Actualizados los ejemplos de sonido. + + + 2022-07-29 Ver.1.10.0-beta -------------------------------------------------------------------------------- - Optimizaciones en las rutinas de renderizado, en especial en las de fondos diff --git a/Examples/01_texture_loading/Texture_Loading.cbp b/Examples/01_texture_loading/Texture_Loading.cbp index 5d660bd..2f143f0 100644 --- a/Examples/01_texture_loading/Texture_Loading.cbp +++ b/Examples/01_texture_loading/Texture_Loading.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/01_texture_loading/source/demo/demo.cpp b/Examples/01_texture_loading/source/demo/demo.cpp index fbae33e..51490eb 100644 --- a/Examples/01_texture_loading/source/demo/demo.cpp +++ b/Examples/01_texture_loading/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/01_texture_loading/source/demo/demo.h b/Examples/01_texture_loading/source/demo/demo.h index 221b420..8ca12e7 100644 --- a/Examples/01_texture_loading/source/demo/demo.h +++ b/Examples/01_texture_loading/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/01_texture_loading/source/main.cpp b/Examples/01_texture_loading/source/main.cpp index 2bf5ea0..879bf1c 100644 --- a/Examples/01_texture_loading/source/main.cpp +++ b/Examples/01_texture_loading/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo de carga de texturas en formato PNG Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/02_move_textures/Move_Textures.cbp b/Examples/02_move_textures/Move_Textures.cbp index 8eedf42..d24b518 100644 --- a/Examples/02_move_textures/Move_Textures.cbp +++ b/Examples/02_move_textures/Move_Textures.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/02_move_textures/source/demo/demo.cpp b/Examples/02_move_textures/source/demo/demo.cpp index a7993be..1921f95 100644 --- a/Examples/02_move_textures/source/demo/demo.cpp +++ b/Examples/02_move_textures/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/02_move_textures/source/demo/demo.h b/Examples/02_move_textures/source/demo/demo.h index b382273..8892fc7 100644 --- a/Examples/02_move_textures/source/demo/demo.h +++ b/Examples/02_move_textures/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/02_move_textures/source/main.cpp b/Examples/02_move_textures/source/main.cpp index 0154944..5448ca2 100644 --- a/Examples/02_move_textures/source/main.cpp +++ b/Examples/02_move_textures/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo de carga y movimiento de texturas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/03_tiled_backgrounds/Tiled_Backgrounds.cbp b/Examples/03_tiled_backgrounds/Tiled_Backgrounds.cbp index 5b0d09a..6234258 100644 --- a/Examples/03_tiled_backgrounds/Tiled_Backgrounds.cbp +++ b/Examples/03_tiled_backgrounds/Tiled_Backgrounds.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/03_tiled_backgrounds/source/demo/demo.cpp b/Examples/03_tiled_backgrounds/source/demo/demo.cpp index 7fe4149..13f97fe 100644 --- a/Examples/03_tiled_backgrounds/source/demo/demo.cpp +++ b/Examples/03_tiled_backgrounds/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/03_tiled_backgrounds/source/demo/demo.h b/Examples/03_tiled_backgrounds/source/demo/demo.h index 29df05a..6886b45 100644 --- a/Examples/03_tiled_backgrounds/source/demo/demo.h +++ b/Examples/03_tiled_backgrounds/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/03_tiled_backgrounds/source/main.cpp b/Examples/03_tiled_backgrounds/source/main.cpp index 6ad8fe7..ac57a15 100644 --- a/Examples/03_tiled_backgrounds/source/main.cpp +++ b/Examples/03_tiled_backgrounds/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo de carga y scroll de fondos con tiles Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/04_sprites/Sprites.cbp b/Examples/04_sprites/Sprites.cbp index 94a494c..421bce4 100644 --- a/Examples/04_sprites/Sprites.cbp +++ b/Examples/04_sprites/Sprites.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/04_sprites/debug_log.txt b/Examples/04_sprites/debug_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Examples/04_sprites/source/demo/demo.cpp b/Examples/04_sprites/source/demo/demo.cpp index 433d6bd..e51e392 100644 --- a/Examples/04_sprites/source/demo/demo.cpp +++ b/Examples/04_sprites/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/04_sprites/source/demo/demo.h b/Examples/04_sprites/source/demo/demo.h index f84dc4a..8b6bf9a 100644 --- a/Examples/04_sprites/source/demo/demo.h +++ b/Examples/04_sprites/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/04_sprites/source/main.cpp b/Examples/04_sprites/source/main.cpp index 4845efa..d8ea230 100644 --- a/Examples/04_sprites/source/main.cpp +++ b/Examples/04_sprites/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso de Sprites Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/05_text_layers/Text_Layers.cbp b/Examples/05_text_layers/Text_Layers.cbp index 6a6047b..fefe01d 100644 --- a/Examples/05_text_layers/Text_Layers.cbp +++ b/Examples/05_text_layers/Text_Layers.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/05_text_layers/debug_log.txt b/Examples/05_text_layers/debug_log.txt deleted file mode 100644 index f73096a..0000000 --- a/Examples/05_text_layers/debug_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -[2022-05-27 13:09:50] N'gine version 1.9.1-beta started successfully! -[2022-05-27 13:09:56] Execution terminated. diff --git a/Examples/05_text_layers/source/demo/demo.cpp b/Examples/05_text_layers/source/demo/demo.cpp index 4df667d..39c1816 100644 --- a/Examples/05_text_layers/source/demo/demo.cpp +++ b/Examples/05_text_layers/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/05_text_layers/source/demo/demo.h b/Examples/05_text_layers/source/demo/demo.h index bc2392d..b59b8ef 100644 --- a/Examples/05_text_layers/source/demo/demo.h +++ b/Examples/05_text_layers/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/05_text_layers/source/main.cpp b/Examples/05_text_layers/source/main.cpp index 2e39536..d6534d6 100644 --- a/Examples/05_text_layers/source/main.cpp +++ b/Examples/05_text_layers/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso de las capas de texto Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/06_collision_maps/Collision_Maps.cbp b/Examples/06_collision_maps/Collision_Maps.cbp index e650e72..2cab6bb 100644 --- a/Examples/06_collision_maps/Collision_Maps.cbp +++ b/Examples/06_collision_maps/Collision_Maps.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/06_collision_maps/source/demo/demo.cpp b/Examples/06_collision_maps/source/demo/demo.cpp index aba1e9e..c472c3f 100644 --- a/Examples/06_collision_maps/source/demo/demo.cpp +++ b/Examples/06_collision_maps/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/06_collision_maps/source/demo/demo.h b/Examples/06_collision_maps/source/demo/demo.h index 587edb5..f869159 100644 --- a/Examples/06_collision_maps/source/demo/demo.h +++ b/Examples/06_collision_maps/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/06_collision_maps/source/main.cpp b/Examples/06_collision_maps/source/main.cpp index effe000..d52d091 100644 --- a/Examples/06_collision_maps/source/main.cpp +++ b/Examples/06_collision_maps/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo de uso de los mapas de colisiones y hitbox de sprites Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/07_sprites_hitbox/Sprites_Hitbox.cbp b/Examples/07_sprites_hitbox/Sprites_Hitbox.cbp index 8fab546..20c5d59 100644 --- a/Examples/07_sprites_hitbox/Sprites_Hitbox.cbp +++ b/Examples/07_sprites_hitbox/Sprites_Hitbox.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/07_sprites_hitbox/source/demo/demo.cpp b/Examples/07_sprites_hitbox/source/demo/demo.cpp index 6454c54..8785936 100644 --- a/Examples/07_sprites_hitbox/source/demo/demo.cpp +++ b/Examples/07_sprites_hitbox/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/07_sprites_hitbox/source/demo/demo.h b/Examples/07_sprites_hitbox/source/demo/demo.h index 035178c..183ca9e 100644 --- a/Examples/07_sprites_hitbox/source/demo/demo.h +++ b/Examples/07_sprites_hitbox/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/07_sprites_hitbox/source/main.cpp b/Examples/07_sprites_hitbox/source/main.cpp index b0db59f..5cd95a7 100644 --- a/Examples/07_sprites_hitbox/source/main.cpp +++ b/Examples/07_sprites_hitbox/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso de deteccion de colisiones entre sprites por caja Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/08_sprites_pixel_perfect/Sprites_Pixel_Perfect.cbp b/Examples/08_sprites_pixel_perfect/Sprites_Pixel_Perfect.cbp index fc5661b..37c5153 100644 --- a/Examples/08_sprites_pixel_perfect/Sprites_Pixel_Perfect.cbp +++ b/Examples/08_sprites_pixel_perfect/Sprites_Pixel_Perfect.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/08_sprites_pixel_perfect/source/demo/demo.cpp b/Examples/08_sprites_pixel_perfect/source/demo/demo.cpp index da3ca66..b27142b 100644 --- a/Examples/08_sprites_pixel_perfect/source/demo/demo.cpp +++ b/Examples/08_sprites_pixel_perfect/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/08_sprites_pixel_perfect/source/demo/demo.h b/Examples/08_sprites_pixel_perfect/source/demo/demo.h index 48e9c31..c7c83a8 100644 --- a/Examples/08_sprites_pixel_perfect/source/demo/demo.h +++ b/Examples/08_sprites_pixel_perfect/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/08_sprites_pixel_perfect/source/main.cpp b/Examples/08_sprites_pixel_perfect/source/main.cpp index 5e4931f..ee9f60d 100644 --- a/Examples/08_sprites_pixel_perfect/source/main.cpp +++ b/Examples/08_sprites_pixel_perfect/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo de colisiones "pixel perfect" entre sprites Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/09_sound/Sound.cbp b/Examples/09_sound/Sound.cbp index 929f6f7..d4ca9c9 100644 --- a/Examples/09_sound/Sound.cbp +++ b/Examples/09_sound/Sound.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/09_sound/debug_log.txt b/Examples/09_sound/debug_log.txt deleted file mode 100644 index 6d641eb..0000000 --- a/Examples/09_sound/debug_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -[2022-07-28 18:59:33] N'gine version 1.10.0-beta started successfully! -[2022-07-28 18:59:40] Execution terminated. diff --git a/Examples/09_sound/source/demo/demo.cpp b/Examples/09_sound/source/demo/demo.cpp index d37c833..db8f8c0 100644 --- a/Examples/09_sound/source/demo/demo.cpp +++ b/Examples/09_sound/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ @@ -207,6 +207,7 @@ bool Demo::Load() { // Carga el stream de musica bgm = ngn->sound->OpenMusic("data/pululate.ogg", false, 50); + if (!bgm) return false; // Carga correcta return true; diff --git a/Examples/09_sound/source/demo/demo.h b/Examples/09_sound/source/demo/demo.h index 5ab3bf8..34d52de 100644 --- a/Examples/09_sound/source/demo/demo.h +++ b/Examples/09_sound/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/09_sound/source/main.cpp b/Examples/09_sound/source/main.cpp index 06e1e37..caed36b 100644 --- a/Examples/09_sound/source/main.cpp +++ b/Examples/09_sound/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso del sonido Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/10_music_loop/Music_Loop.cbp b/Examples/10_music_loop/Music_Loop.cbp index 9607a0a..d56be8c 100644 --- a/Examples/10_music_loop/Music_Loop.cbp +++ b/Examples/10_music_loop/Music_Loop.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/10_music_loop/debug_log.txt b/Examples/10_music_loop/debug_log.txt deleted file mode 100644 index 332f872..0000000 --- a/Examples/10_music_loop/debug_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -[2022-05-22 12:14:31] N'gine version 1.9.0-beta started successfully! -[2022-05-22 12:15:03] Execution terminated. diff --git a/Examples/10_music_loop/source/demo/demo.cpp b/Examples/10_music_loop/source/demo/demo.cpp index 7a167b2..53c35dd 100644 --- a/Examples/10_music_loop/source/demo/demo.cpp +++ b/Examples/10_music_loop/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ @@ -201,6 +201,7 @@ bool Demo::Load() { // Abre el stream de musica bgm = ngn->sound->OpenMusic("data/mirrorball_loop.ogg", 13721); + if (!bgm) return false; // Carga correcta return true; diff --git a/Examples/10_music_loop/source/demo/demo.h b/Examples/10_music_loop/source/demo/demo.h index dcb5a11..4c3497a 100644 --- a/Examples/10_music_loop/source/demo/demo.h +++ b/Examples/10_music_loop/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/10_music_loop/source/main.cpp b/Examples/10_music_loop/source/main.cpp index 2ca8f48..2be80fd 100644 --- a/Examples/10_music_loop/source/main.cpp +++ b/Examples/10_music_loop/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del cambio del punto de loop en una musica Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/11_camera/Camera.cbp b/Examples/11_camera/Camera.cbp index f093b97..edcf51a 100644 --- a/Examples/11_camera/Camera.cbp +++ b/Examples/11_camera/Camera.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/11_camera/debug_log.txt b/Examples/11_camera/debug_log.txt deleted file mode 100644 index fa12469..0000000 --- a/Examples/11_camera/debug_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -[2022-06-07 12:52:57] N'gine version 1.10.0-wip_0x01 started successfully! -[2022-06-07 12:53:18] Execution terminated. diff --git a/Examples/11_camera/source/demo/demo.cpp b/Examples/11_camera/source/demo/demo.cpp index c9ee972..54217ce 100644 --- a/Examples/11_camera/source/demo/demo.cpp +++ b/Examples/11_camera/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/11_camera/source/demo/demo.h b/Examples/11_camera/source/demo/demo.h index 5103b95..ce8d51a 100644 --- a/Examples/11_camera/source/demo/demo.h +++ b/Examples/11_camera/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/11_camera/source/main.cpp b/Examples/11_camera/source/main.cpp index 6fb8111..e3ce3ee 100644 --- a/Examples/11_camera/source/main.cpp +++ b/Examples/11_camera/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso de la camara 2D Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/12_canvas_forms/Canvas_Forms.cbp b/Examples/12_canvas_forms/Canvas_Forms.cbp index 1a3b436..e893772 100644 --- a/Examples/12_canvas_forms/Canvas_Forms.cbp +++ b/Examples/12_canvas_forms/Canvas_Forms.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/12_canvas_forms/source/demo/demo.cpp b/Examples/12_canvas_forms/source/demo/demo.cpp index 047c6a9..3b6b9ec 100644 --- a/Examples/12_canvas_forms/source/demo/demo.cpp +++ b/Examples/12_canvas_forms/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/12_canvas_forms/source/demo/demo.h b/Examples/12_canvas_forms/source/demo/demo.h index c6837c9..deb69f7 100644 --- a/Examples/12_canvas_forms/source/demo/demo.h +++ b/Examples/12_canvas_forms/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/12_canvas_forms/source/main.cpp b/Examples/12_canvas_forms/source/main.cpp index 7118589..abc03f8 100644 --- a/Examples/12_canvas_forms/source/main.cpp +++ b/Examples/12_canvas_forms/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso de la capa de dibujado (canvas) para formas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/13_canvas_paint/Canvas_Paint.cbp b/Examples/13_canvas_paint/Canvas_Paint.cbp index c99d96c..aa98222 100644 --- a/Examples/13_canvas_paint/Canvas_Paint.cbp +++ b/Examples/13_canvas_paint/Canvas_Paint.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/13_canvas_paint/source/demo/demo.cpp b/Examples/13_canvas_paint/source/demo/demo.cpp index 91108a8..10079c3 100644 --- a/Examples/13_canvas_paint/source/demo/demo.cpp +++ b/Examples/13_canvas_paint/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/13_canvas_paint/source/demo/demo.h b/Examples/13_canvas_paint/source/demo/demo.h index e08e7b8..caf25c1 100644 --- a/Examples/13_canvas_paint/source/demo/demo.h +++ b/Examples/13_canvas_paint/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/13_canvas_paint/source/main.cpp b/Examples/13_canvas_paint/source/main.cpp index b14f4b5..3f73bac 100644 --- a/Examples/13_canvas_paint/source/main.cpp +++ b/Examples/13_canvas_paint/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso de la capa de dibujado (canvas) para pintura Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/14_canvas_effects/Canvas_Effects.cbp b/Examples/14_canvas_effects/Canvas_Effects.cbp index e5c653c..2c740ef 100644 --- a/Examples/14_canvas_effects/Canvas_Effects.cbp +++ b/Examples/14_canvas_effects/Canvas_Effects.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/14_canvas_effects/source/demo/demo.cpp b/Examples/14_canvas_effects/source/demo/demo.cpp index 97ce700..dbde98c 100644 --- a/Examples/14_canvas_effects/source/demo/demo.cpp +++ b/Examples/14_canvas_effects/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/14_canvas_effects/source/demo/demo.h b/Examples/14_canvas_effects/source/demo/demo.h index 8a18126..4d612cc 100644 --- a/Examples/14_canvas_effects/source/demo/demo.h +++ b/Examples/14_canvas_effects/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/14_canvas_effects/source/main.cpp b/Examples/14_canvas_effects/source/main.cpp index ddc1cc7..fc0de50 100644 --- a/Examples/14_canvas_effects/source/main.cpp +++ b/Examples/14_canvas_effects/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso de la capa de dibujado (canvas) para efectos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/15_viewport_clip/Viewport_Clip.cbp b/Examples/15_viewport_clip/Viewport_Clip.cbp index e2cb532..354f459 100644 --- a/Examples/15_viewport_clip/Viewport_Clip.cbp +++ b/Examples/15_viewport_clip/Viewport_Clip.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/15_viewport_clip/source/demo/demo.cpp b/Examples/15_viewport_clip/source/demo/demo.cpp index 1641bf7..649d0cb 100644 --- a/Examples/15_viewport_clip/source/demo/demo.cpp +++ b/Examples/15_viewport_clip/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/15_viewport_clip/source/demo/demo.h b/Examples/15_viewport_clip/source/demo/demo.h index e5b4337..7c22605 100644 --- a/Examples/15_viewport_clip/source/demo/demo.h +++ b/Examples/15_viewport_clip/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/15_viewport_clip/source/main.cpp b/Examples/15_viewport_clip/source/main.cpp index fa7b44a..9b4638f 100644 --- a/Examples/15_viewport_clip/source/main.cpp +++ b/Examples/15_viewport_clip/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo de uso del recorte de area del viewport Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/16_multiple_viewports/Multiple_Viewports.cbp b/Examples/16_multiple_viewports/Multiple_Viewports.cbp index a75a5dc..49a6dba 100644 --- a/Examples/16_multiple_viewports/Multiple_Viewports.cbp +++ b/Examples/16_multiple_viewports/Multiple_Viewports.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/16_multiple_viewports/debug_log.txt b/Examples/16_multiple_viewports/debug_log.txt deleted file mode 100644 index b358b5b..0000000 --- a/Examples/16_multiple_viewports/debug_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -[2022-07-28 17:23:57] N'gine version 1.10.0-beta started successfully! -[2022-07-28 17:24:14] Execution terminated. diff --git a/Examples/16_multiple_viewports/source/demo/demo.cpp b/Examples/16_multiple_viewports/source/demo/demo.cpp index 935d342..0a751bd 100644 --- a/Examples/16_multiple_viewports/source/demo/demo.cpp +++ b/Examples/16_multiple_viewports/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/16_multiple_viewports/source/demo/demo.h b/Examples/16_multiple_viewports/source/demo/demo.h index b25cc93..d231a00 100644 --- a/Examples/16_multiple_viewports/source/demo/demo.h +++ b/Examples/16_multiple_viewports/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/16_multiple_viewports/source/main.cpp b/Examples/16_multiple_viewports/source/main.cpp index 1b466a1..e654253 100644 --- a/Examples/16_multiple_viewports/source/main.cpp +++ b/Examples/16_multiple_viewports/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo de uso de varios viewports simultaneos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/17_render_to_texture/Render_to_Texture.cbp b/Examples/17_render_to_texture/Render_to_Texture.cbp index 4dd0bf0..ce1e556 100644 --- a/Examples/17_render_to_texture/Render_to_Texture.cbp +++ b/Examples/17_render_to_texture/Render_to_Texture.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/17_render_to_texture/debug_log.txt b/Examples/17_render_to_texture/debug_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Examples/17_render_to_texture/source/demo/demo.cpp b/Examples/17_render_to_texture/source/demo/demo.cpp index 71ef8ad..04f16b4 100644 --- a/Examples/17_render_to_texture/source/demo/demo.cpp +++ b/Examples/17_render_to_texture/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/17_render_to_texture/source/demo/demo.h b/Examples/17_render_to_texture/source/demo/demo.h index 4c37fcb..2da6bc3 100644 --- a/Examples/17_render_to_texture/source/demo/demo.h +++ b/Examples/17_render_to_texture/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/17_render_to_texture/source/main.cpp b/Examples/17_render_to_texture/source/main.cpp index cdf4c17..d4b00d5 100644 --- a/Examples/17_render_to_texture/source/main.cpp +++ b/Examples/17_render_to_texture/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo de render de una escena a una textura Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/18_sprite_colliders/Sprite_Colliders.cbp b/Examples/18_sprite_colliders/Sprite_Colliders.cbp index 0d8ca96..9fd6d83 100644 --- a/Examples/18_sprite_colliders/Sprite_Colliders.cbp +++ b/Examples/18_sprite_colliders/Sprite_Colliders.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/18_sprite_colliders/source/demo/demo.cpp b/Examples/18_sprite_colliders/source/demo/demo.cpp index fd833d3..f532e29 100644 --- a/Examples/18_sprite_colliders/source/demo/demo.cpp +++ b/Examples/18_sprite_colliders/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" http://www.nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ diff --git a/Examples/18_sprite_colliders/source/demo/demo.h b/Examples/18_sprite_colliders/source/demo/demo.h index 98028e6..d5ad7eb 100644 --- a/Examples/18_sprite_colliders/source/demo/demo.h +++ b/Examples/18_sprite_colliders/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" http://www.nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ diff --git a/Examples/18_sprite_colliders/source/main.cpp b/Examples/18_sprite_colliders/source/main.cpp index e3fb047..f51094f 100644 --- a/Examples/18_sprite_colliders/source/main.cpp +++ b/Examples/18_sprite_colliders/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso de multiples colisionadores en un Sprite Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" http://www.nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ diff --git a/Examples/19_blending_modes/Blending_Modes.cbp b/Examples/19_blending_modes/Blending_Modes.cbp index e94a77c..c995aa6 100644 --- a/Examples/19_blending_modes/Blending_Modes.cbp +++ b/Examples/19_blending_modes/Blending_Modes.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/19_blending_modes/source/demo/demo.cpp b/Examples/19_blending_modes/source/demo/demo.cpp index 2035f48..b484adf 100644 --- a/Examples/19_blending_modes/source/demo/demo.cpp +++ b/Examples/19_blending_modes/source/demo/demo.cpp @@ -4,11 +4,11 @@ Archivo de Demo (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/19_blending_modes/source/demo/demo.h b/Examples/19_blending_modes/source/demo/demo.h index 88a10f3..821cc7e 100644 --- a/Examples/19_blending_modes/source/demo/demo.h +++ b/Examples/19_blending_modes/source/demo/demo.h @@ -4,11 +4,11 @@ Archivo de Demo (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -19,8 +19,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/19_blending_modes/source/main.cpp b/Examples/19_blending_modes/source/main.cpp index 231cd76..bef33b6 100644 --- a/Examples/19_blending_modes/source/main.cpp +++ b/Examples/19_blending_modes/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso de los modos de mezcla Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/20_window_modes/Window_Modes.cbp b/Examples/20_window_modes/Window_Modes.cbp index c8c6841..c31c99c 100644 --- a/Examples/20_window_modes/Window_Modes.cbp +++ b/Examples/20_window_modes/Window_Modes.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/20_window_modes/source/demo/demo.cpp b/Examples/20_window_modes/source/demo/demo.cpp index bb45c82..ef6920c 100644 --- a/Examples/20_window_modes/source/demo/demo.cpp +++ b/Examples/20_window_modes/source/demo/demo.cpp @@ -4,11 +4,11 @@ Ejemplo del uso de los modos de pantalla (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/20_window_modes/source/demo/demo.h b/Examples/20_window_modes/source/demo/demo.h index 5fe430b..00adbbc 100644 --- a/Examples/20_window_modes/source/demo/demo.h +++ b/Examples/20_window_modes/source/demo/demo.h @@ -4,11 +4,11 @@ Ejemplo del uso de los modos de pantalla (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/20_window_modes/source/main.cpp b/Examples/20_window_modes/source/main.cpp index ca8f483..5116834 100644 --- a/Examples/20_window_modes/source/main.cpp +++ b/Examples/20_window_modes/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso de los modos de pantalla Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/21_canvas_3dtunnel/Canvas_3dTunnel.cbp b/Examples/21_canvas_3dtunnel/Canvas_3dTunnel.cbp index 875270a..fd1fc0f 100644 --- a/Examples/21_canvas_3dtunnel/Canvas_3dTunnel.cbp +++ b/Examples/21_canvas_3dtunnel/Canvas_3dTunnel.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/21_canvas_3dtunnel/Canvas_3dTunnel.layout b/Examples/21_canvas_3dtunnel/Canvas_3dTunnel.layout deleted file mode 100644 index 222efec..0000000 --- a/Examples/21_canvas_3dtunnel/Canvas_3dTunnel.layout +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/Examples/21_canvas_3dtunnel/debug_log.txt b/Examples/21_canvas_3dtunnel/debug_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Examples/21_canvas_3dtunnel/source/demo/demo.cpp b/Examples/21_canvas_3dtunnel/source/demo/demo.cpp index ebadf61..b2e8069 100644 --- a/Examples/21_canvas_3dtunnel/source/demo/demo.cpp +++ b/Examples/21_canvas_3dtunnel/source/demo/demo.cpp @@ -4,11 +4,11 @@ Ejemplo del uso del Canvas: Tunel 3D (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/21_canvas_3dtunnel/source/demo/demo.h b/Examples/21_canvas_3dtunnel/source/demo/demo.h index 8573328..999a84a 100644 --- a/Examples/21_canvas_3dtunnel/source/demo/demo.h +++ b/Examples/21_canvas_3dtunnel/source/demo/demo.h @@ -4,11 +4,11 @@ Ejemplo del uso del Canvas: Tunel 3D (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/21_canvas_3dtunnel/source/main.cpp b/Examples/21_canvas_3dtunnel/source/main.cpp index fabd40f..8ca7876 100644 --- a/Examples/21_canvas_3dtunnel/source/main.cpp +++ b/Examples/21_canvas_3dtunnel/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso del Canvas: Tunel 3D Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -21,8 +21,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/22_canvas_getpixel/Canvas_Getpixel.cbp b/Examples/22_canvas_getpixel/Canvas_Getpixel.cbp index 54ad652..7272761 100644 --- a/Examples/22_canvas_getpixel/Canvas_Getpixel.cbp +++ b/Examples/22_canvas_getpixel/Canvas_Getpixel.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/22_canvas_getpixel/source/demo/demo.cpp b/Examples/22_canvas_getpixel/source/demo/demo.cpp index db479ae..d77c8a6 100644 --- a/Examples/22_canvas_getpixel/source/demo/demo.cpp +++ b/Examples/22_canvas_getpixel/source/demo/demo.cpp @@ -4,11 +4,11 @@ Ejemplo del uso del Canvas: GetPixel (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/22_canvas_getpixel/source/demo/demo.h b/Examples/22_canvas_getpixel/source/demo/demo.h index 342fc43..9f83dc1 100644 --- a/Examples/22_canvas_getpixel/source/demo/demo.h +++ b/Examples/22_canvas_getpixel/source/demo/demo.h @@ -4,11 +4,11 @@ Ejemplo del uso del Canvas: GetPixel (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/22_canvas_getpixel/source/main.cpp b/Examples/22_canvas_getpixel/source/main.cpp index 61c7d2c..6bb33b0 100644 --- a/Examples/22_canvas_getpixel/source/main.cpp +++ b/Examples/22_canvas_getpixel/source/main.cpp @@ -3,11 +3,11 @@ Ejemplo del uso del Canvas: GetPixel Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -21,8 +21,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/23_mask/Mask.cbp b/Examples/23_mask/Mask.cbp index 5a80aac..04981c9 100644 --- a/Examples/23_mask/Mask.cbp +++ b/Examples/23_mask/Mask.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/23_mask/debug_log.txt b/Examples/23_mask/debug_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Examples/23_mask/source/demo/demo.cpp b/Examples/23_mask/source/demo/demo.cpp index 4c95ca0..14638ae 100644 --- a/Examples/23_mask/source/demo/demo.cpp +++ b/Examples/23_mask/source/demo/demo.cpp @@ -4,11 +4,11 @@ Ejemplo del uso de mascaras (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/23_mask/source/demo/demo.h b/Examples/23_mask/source/demo/demo.h index 097e626..aa2c620 100644 --- a/Examples/23_mask/source/demo/demo.h +++ b/Examples/23_mask/source/demo/demo.h @@ -4,11 +4,11 @@ Ejemplo del uso de mascaras (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/23_mask/source/main.cpp b/Examples/23_mask/source/main.cpp index e5a5b54..2de148d 100644 --- a/Examples/23_mask/source/main.cpp +++ b/Examples/23_mask/source/main.cpp @@ -4,11 +4,11 @@ Ejemplo del uso de mascaras Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/24_surface_to_raw/Surface_to_RAW.cbp b/Examples/24_surface_to_raw/Surface_to_RAW.cbp index e5b278f..ce3c5de 100644 --- a/Examples/24_surface_to_raw/Surface_to_RAW.cbp +++ b/Examples/24_surface_to_raw/Surface_to_RAW.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/24_surface_to_raw/debug_log.txt b/Examples/24_surface_to_raw/debug_log.txt deleted file mode 100644 index 0393cad..0000000 --- a/Examples/24_surface_to_raw/debug_log.txt +++ /dev/null @@ -1,2 +0,0 @@ -[2022-06-07 12:50:53] N'gine version 1.10.0-wip_0x01 started successfully! -[2022-06-07 12:51:04] Execution terminated. diff --git a/Examples/24_surface_to_raw/source/demo/demo.cpp b/Examples/24_surface_to_raw/source/demo/demo.cpp index 9d6cb17..84265fa 100644 --- a/Examples/24_surface_to_raw/source/demo/demo.cpp +++ b/Examples/24_surface_to_raw/source/demo/demo.cpp @@ -4,11 +4,11 @@ Ejemplo de la captura del surface (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/24_surface_to_raw/source/demo/demo.h b/Examples/24_surface_to_raw/source/demo/demo.h index 6be279a..4ec9d6d 100644 --- a/Examples/24_surface_to_raw/source/demo/demo.h +++ b/Examples/24_surface_to_raw/source/demo/demo.h @@ -4,11 +4,11 @@ Ejemplo de la captura del surface (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/24_surface_to_raw/source/main.cpp b/Examples/24_surface_to_raw/source/main.cpp index b73951f..bbf48ee 100644 --- a/Examples/24_surface_to_raw/source/main.cpp +++ b/Examples/24_surface_to_raw/source/main.cpp @@ -4,11 +4,11 @@ Ejemplo de la captura del surface Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/25_raycast_point/Raycast_point.cbp b/Examples/25_raycast_point/Raycast_point.cbp index 164fc86..bb5b20f 100644 --- a/Examples/25_raycast_point/Raycast_point.cbp +++ b/Examples/25_raycast_point/Raycast_point.cbp @@ -115,7 +115,7 @@ - + diff --git a/Examples/25_raycast_point/debug_log.txt b/Examples/25_raycast_point/debug_log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Examples/25_raycast_point/source/demo/demo.cpp b/Examples/25_raycast_point/source/demo/demo.cpp index 5423d9c..969dbab 100644 --- a/Examples/25_raycast_point/source/demo/demo.cpp +++ b/Examples/25_raycast_point/source/demo/demo.cpp @@ -4,11 +4,11 @@ Ejemplo Raycast a un punto de un sprite (Programa) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/25_raycast_point/source/demo/demo.h b/Examples/25_raycast_point/source/demo/demo.h index 34a8d49..6556564 100644 --- a/Examples/25_raycast_point/source/demo/demo.h +++ b/Examples/25_raycast_point/source/demo/demo.h @@ -4,11 +4,11 @@ Ejemplo Raycast a un punto de un sprite (Declaraciones) Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Examples/25_raycast_point/source/main.cpp b/Examples/25_raycast_point/source/main.cpp index 14aa9d3..50156fb 100644 --- a/Examples/25_raycast_point/source/main.cpp +++ b/Examples/25_raycast_point/source/main.cpp @@ -4,11 +4,11 @@ Ejemplo Raycast a un punto de un sprite Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com - Requiere N'gine 1.9.0-stable o superior + Requiere N'gine 1.11.0-stable o superior Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits https://www.mingw-w64.org/ @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Library/linux/_NGN_1.10.0-beta.x64.null b/Library/linux/_NGN_1.10.0-beta.x64.null deleted file mode 100644 index e69de29..0000000 diff --git a/Examples/02_move_textures/debug_log.txt b/Library/linux/_NGN_1.11.0-stable.x64.null similarity index 100% rename from Examples/02_move_textures/debug_log.txt rename to Library/linux/_NGN_1.11.0-stable.x64.null diff --git a/Library/linux/include/config_flags.h b/Library/linux/include/config_flags.h new file mode 100644 index 0000000..238dc3e --- /dev/null +++ b/Library/linux/include/config_flags.h @@ -0,0 +1,124 @@ +/****************************************************************************** + + N'gine Lib for C++ + *** Version 1.11.0-stable *** + FLAGS de configuracion de la libreria + La libreria debe compilarse para que estos FLAGS sean efectivos + + Proyecto iniciado el 1 de Febrero del 2016 + (cc) 2016 - 2023 by Cesar Rincon "NightFox" + https://nightfoxandco.com + contact@nightfoxandco.com + + Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits + https://www.mingw-w64.org/ + + Requiere SDL2 (2.0.22) - 64-bits + http://www.libsdl.org/download-2.0.php + + Requiere SDL2_TTF (2.0.15) - 64-bits + http://www.libsdl.org/download-2.0.php + + Requiere SFML (2.5.1) - 64-bits + http://www.sfml-dev.org/ + + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne + http://lodev.org/lodepng/ + + + N'gine se distribuye bajo la licencia CREATIVE COMMONS + "Attribution-NonCommercial 4.0 International" + https://creativecommons.org/licenses/by-nc/4.0/ + + You are free to: + + - Share + copy and redistribute the material in any medium or format. + - Adapt + remix, transform, and build upon the material. + + The licensor cannot revoke these freedoms as long as you follow + the license terms. + + Under the following terms: + + - Attribution + You must give appropriate credit, provide a link to the license, + and indicate if changes were made. You may do so in any reasonable + manner, but not in any way that suggests the licensor endorses you + or your use. + + - NonCommercial + You may not use the material for commercial purposes. + + - No additional restrictions + You may not apply legal terms or technological measures that + legally restrict others from doing anything the license permits. + +******************************************************************************/ + + + +#ifndef CONFIG_FLAGS_H_INCLUDED +#define CONFIG_FLAGS_H_INCLUDED + + + +/****************************************************************************** + + Flags de seleccion del sistema operativo de destino + Usar solo 1 a la vez y si no se esta usando el proyecto de code::blocks + + Flags to select the target operating system + Use only 1 at a time and if you are not using the code::blocks project + +******************************************************************************/ + +//#define OS_WINDOWS +//#define OS_LINUX + + +/****************************************************************************** + + Flags de seleccion del tipo de binario (debug o release) + Usar solo 1 a la vez y si no se esta usando el proyecto de code::blocks + + Flags to select the type of the binary (debug or release) + Use only 1 at a time and if you are not using the code::blocks project + +******************************************************************************/ + +//#define MODE_DEBUG +//#define MODE_RELEASE + + +/****************************************************************************** + + Flags de configuracion avanzados de N'gine + N'gine advanced configuration flags + +******************************************************************************/ + +/* + Deshabilita las funciones avanzadas de sonido de SFML + Usar solo si se usa una version inferior a la 2.5.1. + Disables the advanced features of SFML audio library. + Use only if you're using a version under 2.5.1 +*/ +//#define DISABLE_SFML_AUDIO_ADVANCED_FEATURES + +/* + Deshabilita la funcion de backbuffer de N'gine. + Esto aumenta el rendimiento en mas de un 50% en GPU's de perfil bajo, + pero se pierde la opcion de filtrado bilineal en objetos y capas + por separado. + Disables the backbuffer feature of N'gine. + That speeds up to 50% in lowend GPU's, but also disables the option + of enable bilinear filtering in objects and layers separately. +*/ +//#define DISABLE_BACKBUFFER + + + +#endif // CONFIG_FLAGS_H_INCLUDED diff --git a/Library/linux/include/lodepng/lodepng.h b/Library/linux/include/lodepng/lodepng.h index a386459..fdafc77 100644 --- a/Library/linux/include/lodepng/lodepng.h +++ b/Library/linux/include/lodepng/lodepng.h @@ -1,7 +1,7 @@ /* -LodePNG version 20200306 +LodePNG version 20220717 -Copyright (c) 2005-2020 Lode Vandevenne +Copyright (c) 2005-2022 Lode Vandevenne This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -35,43 +35,50 @@ The following #defines are used to create code sections. They can be disabled to disable code sections, which can give faster compile time and smaller binary. The "NO_COMPILE" defines are designed to be used to pass as defines to the compiler command to disable them without modifying this header, e.g. --DLODEPNG_NO_COMPILE_ZLIB for gcc. -In addition to those below, you can also define LODEPNG_NO_COMPILE_CRC to -allow implementing a custom lodepng_crc32. +-DLODEPNG_NO_COMPILE_ZLIB for gcc or clang. */ /*deflate & zlib. If disabled, you must specify alternative zlib functions in the custom_zlib field of the compress and decompress settings*/ #ifndef LODEPNG_NO_COMPILE_ZLIB +/*pass -DLODEPNG_NO_COMPILE_ZLIB to the compiler to disable this, or comment out LODEPNG_COMPILE_ZLIB below*/ #define LODEPNG_COMPILE_ZLIB #endif /*png encoder and png decoder*/ #ifndef LODEPNG_NO_COMPILE_PNG +/*pass -DLODEPNG_NO_COMPILE_PNG to the compiler to disable this, or comment out LODEPNG_COMPILE_PNG below*/ #define LODEPNG_COMPILE_PNG #endif /*deflate&zlib decoder and png decoder*/ #ifndef LODEPNG_NO_COMPILE_DECODER +/*pass -DLODEPNG_NO_COMPILE_DECODER to the compiler to disable this, or comment out LODEPNG_COMPILE_DECODER below*/ #define LODEPNG_COMPILE_DECODER #endif /*deflate&zlib encoder and png encoder*/ #ifndef LODEPNG_NO_COMPILE_ENCODER +/*pass -DLODEPNG_NO_COMPILE_ENCODER to the compiler to disable this, or comment out LODEPNG_COMPILE_ENCODER below*/ #define LODEPNG_COMPILE_ENCODER #endif /*the optional built in harddisk file loading and saving functions*/ #ifndef LODEPNG_NO_COMPILE_DISK +/*pass -DLODEPNG_NO_COMPILE_DISK to the compiler to disable this, or comment out LODEPNG_COMPILE_DISK below*/ #define LODEPNG_COMPILE_DISK #endif /*support for chunks other than IHDR, IDAT, PLTE, tRNS, IEND: ancillary and unknown chunks*/ #ifndef LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS +/*pass -DLODEPNG_NO_COMPILE_ANCILLARY_CHUNKS to the compiler to disable this, +or comment out LODEPNG_COMPILE_ANCILLARY_CHUNKS below*/ #define LODEPNG_COMPILE_ANCILLARY_CHUNKS #endif /*ability to convert error numerical codes to English text string*/ #ifndef LODEPNG_NO_COMPILE_ERROR_TEXT +/*pass -DLODEPNG_NO_COMPILE_ERROR_TEXT to the compiler to disable this, +or comment out LODEPNG_COMPILE_ERROR_TEXT below*/ #define LODEPNG_COMPILE_ERROR_TEXT #endif @@ -79,12 +86,24 @@ the custom_zlib field of the compress and decompress settings*/ you can define the functions lodepng_free, lodepng_malloc and lodepng_realloc in your source files with custom allocators.*/ #ifndef LODEPNG_NO_COMPILE_ALLOCATORS +/*pass -DLODEPNG_NO_COMPILE_ALLOCATORS to the compiler to disable the built-in ones, +or comment out LODEPNG_COMPILE_ALLOCATORS below*/ #define LODEPNG_COMPILE_ALLOCATORS #endif +/*Disable built-in CRC function, in that case a custom implementation of +lodepng_crc32 must be defined externally so that it can be linked in.*/ +#ifndef LODEPNG_NO_COMPILE_CRC +/*pass -DLODEPNG_NO_COMPILE_CRC to the compiler to disable the built-in one, +or comment out LODEPNG_COMPILE_CRC below*/ +#define LODEPNG_COMPILE_CRC +#endif + /*compile the C++ version (you can disable the C++ wrapper here even when compiling for C++)*/ #ifdef __cplusplus #ifndef LODEPNG_NO_COMPILE_CPP +/*pass -DLODEPNG_NO_COMPILE_CPP to the compiler to disable C++ (not needed if a C-only compiler), +or comment out LODEPNG_COMPILE_CPP below*/ #define LODEPNG_COMPILE_CPP #endif #endif @@ -142,16 +161,24 @@ unsigned lodepng_decode24(unsigned char** out, unsigned* w, unsigned* h, /* Load PNG from disk, from file with given name. Same as the other decode functions, but instead takes a filename as input. -*/ + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory.*/ unsigned lodepng_decode_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename, LodePNGColorType colortype, unsigned bitdepth); -/*Same as lodepng_decode_file, but always decodes to 32-bit RGBA raw image.*/ +/*Same as lodepng_decode_file, but always decodes to 32-bit RGBA raw image. + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory.*/ unsigned lodepng_decode32_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename); -/*Same as lodepng_decode_file, but always decodes to 24-bit RGB raw image.*/ +/*Same as lodepng_decode_file, but always decodes to 24-bit RGB raw image. + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory.*/ unsigned lodepng_decode24_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename); #endif /*LODEPNG_COMPILE_DISK*/ @@ -191,17 +218,26 @@ unsigned lodepng_encode24(unsigned char** out, size_t* outsize, /* Converts raw pixel data into a PNG file on disk. Same as the other encode functions, but instead takes a filename as output. + NOTE: This overwrites existing files without warning! -*/ + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and encode in-memory.*/ unsigned lodepng_encode_file(const char* filename, const unsigned char* image, unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth); -/*Same as lodepng_encode_file, but always encodes from 32-bit RGBA raw image.*/ +/*Same as lodepng_encode_file, but always encodes from 32-bit RGBA raw image. + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and encode in-memory.*/ unsigned lodepng_encode32_file(const char* filename, const unsigned char* image, unsigned w, unsigned h); -/*Same as lodepng_encode_file, but always encodes from 24-bit RGB raw image.*/ +/*Same as lodepng_encode_file, but always encodes from 24-bit RGB raw image. + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and encode in-memory.*/ unsigned lodepng_encode24_file(const char* filename, const unsigned char* image, unsigned w, unsigned h); #endif /*LODEPNG_COMPILE_DISK*/ @@ -223,6 +259,9 @@ unsigned decode(std::vector& out, unsigned& w, unsigned& h, /* Converts PNG file from disk to raw pixel data in memory. Same as the other decode functions, but instead takes a filename as input. + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory. */ unsigned decode(std::vector& out, unsigned& w, unsigned& h, const std::string& filename, @@ -243,7 +282,11 @@ unsigned encode(std::vector& out, /* Converts 32-bit RGBA raw pixel data into a PNG file on disk. Same as the other encode functions, but instead takes a filename as output. + NOTE: This overwrites existing files without warning! + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory. */ unsigned encode(const std::string& filename, const unsigned char* in, unsigned w, unsigned h, @@ -270,12 +313,21 @@ struct LodePNGDecompressSettings { unsigned ignore_adler32; /*if 1, continue and don't give an error message if the Adler32 checksum is corrupted*/ unsigned ignore_nlen; /*ignore complement of len checksum in uncompressed blocks*/ - /*use custom zlib decoder instead of built in one (default: null)*/ + /*Maximum decompressed size, beyond this the decoder may (and is encouraged to) stop decoding, + return an error, output a data size > max_output_size and all the data up to that point. This is + not hard limit nor a guarantee, but can prevent excessive memory usage. This setting is + ignored by the PNG decoder, but is used by the deflate/zlib decoder and can be used by custom ones. + Set to 0 to impose no limit (the default).*/ + size_t max_output_size; + + /*use custom zlib decoder instead of built in one (default: null). + Should return 0 if success, any non-0 if error (numeric value not exposed).*/ unsigned (*custom_zlib)(unsigned char**, size_t*, const unsigned char*, size_t, const LodePNGDecompressSettings*); /*use custom deflate decoder instead of built in one (default: null) - if custom_zlib is not null, custom_inflate is ignored (the zlib format uses deflate)*/ + if custom_zlib is not null, custom_inflate is ignored (the zlib format uses deflate). + Should return 0 if success, any non-0 if error (numeric value not exposed).*/ unsigned (*custom_inflate)(unsigned char**, size_t*, const unsigned char*, size_t, const LodePNGDecompressSettings*); @@ -341,8 +393,10 @@ typedef struct LodePNGColorMode { The alpha channels must be set as well, set them to 255 for opaque images. - When decoding, by default you can ignore this palette, since LodePNG already - fills the palette colors in the pixels of the raw RGBA output. + When decoding, with the default settings you can ignore this palette, since + LodePNG already fills the palette colors in the pixels of the raw RGBA output, + but when decoding to the original PNG color mode it is needed to reconstruct + the colors. The palette is only supported for color type 3. */ @@ -432,10 +486,12 @@ typedef struct LodePNGInfo { with values truncated to the bit depth in the unsigned integer. For grayscale and palette PNGs, the value is stored in background_r. The values - in background_g and background_b are then unused. + in background_g and background_b are then unused. The decoder will set them + equal to background_r, the encoder ignores them in this case. - So when decoding, you may get these in a different color mode than the one you requested - for the raw pixels. + When decoding, you may get these in a different color mode than the one you requested + for the raw pixels: the colortype and bitdepth defined by info_png.color, that is the + ones defined in the header of the PNG image, are used. When encoding with auto_convert, you must use the color model defined in info_png.color for these values. The encoder normally ignores info_png.color when auto_convert is on, but will @@ -454,30 +510,36 @@ typedef struct LodePNGInfo { unsigned background_b; /*blue component of suggested background color*/ /* - non-international text chunks (tEXt and zTXt) + Non-international text chunks (tEXt and zTXt) The char** arrays each contain num strings. The actual messages are in text_strings, while text_keys are keywords that give a short description what the actual text represents, e.g. Title, Author, Description, or anything else. - All the string fields below including keys, names and language tags are null terminated. + All the string fields below including strings, keys, names and language tags are null terminated. The PNG specification uses null characters for the keys, names and tags, and forbids null characters to appear in the main text which is why we can use null termination everywhere here. - A keyword is minimum 1 character and maximum 79 characters long. It's - discouraged to use a single line length longer than 79 characters for texts. + A keyword is minimum 1 character and maximum 79 characters long (plus the + additional null terminator). It's discouraged to use a single line length + longer than 79 characters for texts. Don't allocate these text buffers yourself. Use the init/cleanup functions correctly and use lodepng_add_text and lodepng_clear_text. + + Standard text chunk keywords and strings are encoded using Latin-1. */ size_t text_num; /*the amount of texts in these char** buffers (there may be more texts in itext)*/ char** text_keys; /*the keyword of a text chunk (e.g. "Comment")*/ char** text_strings; /*the actual text*/ /* - international text chunks (iTXt) + International text chunks (iTXt) Similar to the non-international text chunks, but with additional strings - "langtags" and "transkeys". + "langtags" and "transkeys", and the following text encodings are used: + keys: Latin-1, langtags: ASCII, transkeys and strings: UTF-8. + keys must be 1-79 characters (plus the additional null terminator), the other + strings are any length. */ size_t itext_num; /*the amount of international texts in this PNG*/ char** itext_keys; /*the English keyword of the text chunk (e.g. "Comment")*/ @@ -496,7 +558,7 @@ typedef struct LodePNGInfo { unsigned phys_unit; /*may be 0 (unknown unit) or 1 (metre)*/ /* - Color profile related chunks: gAMA, cHRM, sRGB, iCPP + Color profile related chunks: gAMA, cHRM, sRGB, iCPP, sBIT LodePNG does not apply any color conversions on pixels in the encoder or decoder and does not interpret these color profile values. It merely passes on the information. If you wish to use color profiles and convert colors, please @@ -559,6 +621,45 @@ typedef struct LodePNGInfo { unsigned char* iccp_profile; unsigned iccp_profile_size; /* The size of iccp_profile in bytes */ + /* + sBIT chunk: significant bits. Optional metadata, only set this if needed. + + If defined, these values give the bit depth of the original data. Since PNG only stores 1, 2, 4, 8 or 16-bit + per channel data, the significant bits value can be used to indicate the original encoded data has another + sample depth, such as 10 or 12. + + Encoders using this value, when storing the pixel data, should use the most significant bits + of the data to store the original bits, and use a good sample depth scaling method such as + "left bit replication" to fill in the least significant bits, rather than fill zeroes. + + Decoders using this value, if able to work with data that's e.g. 10-bit or 12-bit, should right + shift the data to go back to the original bit depth, but decoders are also allowed to ignore + sbit and work e.g. with the 8-bit or 16-bit data from the PNG directly, since thanks + to the encoder contract, the values encoded in PNG are in valid range for the PNG bit depth. + + For grayscale images, sbit_g and sbit_b are not used, and for images that don't use color + type RGBA or grayscale+alpha, sbit_a is not used (it's not used even for palette images with + translucent palette values, or images with color key). The values that are used must be + greater than zero and smaller than or equal to the PNG bit depth. + + The color type from the header in the PNG image defines these used and unused fields: if + decoding with a color mode conversion, such as always decoding to RGBA, this metadata still + only uses the color type of the original PNG, and may e.g. lack the alpha channel info + if the PNG was RGB. When encoding with auto_convert (as well as without), also always the + color model defined in info_png.color determines this. + + NOTE: enabling sbit can hurt compression, because the encoder can then not always use + auto_convert to choose a more optimal color mode for the data, because the PNG format has + strict requirements for the allowed sbit values in combination with color modes. + For example, setting these fields to 10-bit will force the encoder to keep using a 16-bit per channel + color mode, even if the pixel data would in fact fit in a more efficient 8-bit mode. + */ + unsigned sbit_defined; /*is significant bits given? if not, the values below are unused*/ + unsigned sbit_r; /*red or gray component of significant bits*/ + unsigned sbit_g; /*green component of significant bits*/ + unsigned sbit_b; /*blue component of significant bits*/ + unsigned sbit_a; /*alpha component of significant bits*/ + /* End of color profile related chunks */ @@ -639,8 +740,19 @@ typedef struct LodePNGDecoderSettings { #ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS unsigned read_text_chunks; /*if false but remember_unknown_chunks is true, they're stored in the unknown chunks*/ + /*store all bytes from unknown chunks in the LodePNGInfo (off by default, useful for a png editor)*/ unsigned remember_unknown_chunks; + + /* maximum size for decompressed text chunks. If a text chunk's text is larger than this, an error is returned, + unless reading text chunks is disabled or this limit is set higher or disabled. Set to 0 to allow any size. + By default it is a value that prevents unreasonably large strings from hogging memory. */ + size_t max_text_size; + + /* maximum size for compressed ICC chunks. If the ICC profile is larger than this, an error will be returned. Set to + 0 to allow any size. By default this is a value that prevents ICC profiles that would be much larger than any + legitimate profile could be to hog memory. */ + size_t max_icc_size; #endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ } LodePNGDecoderSettings; @@ -720,7 +832,11 @@ typedef struct LodePNGEncoderSettings { const unsigned char* predefined_filters; /*force creating a PLTE chunk if colortype is 2 or 6 (= a suggested palette). - If colortype is 3, PLTE is _always_ created.*/ + If colortype is 3, PLTE is always created. If color type is explicitely set + to a grayscale type (1 or 4), this is not done and is ignored. If enabling this, + a palette must be present in the info_png. + NOTE: enabling this may worsen compression if auto_convert is used to choose + optimal color mode, because it cannot use grayscale color modes in this case*/ unsigned force_palette; #ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS /*add LodePNG identifier and version as a text chunk, for debugging*/ @@ -774,8 +890,8 @@ unsigned lodepng_inspect(unsigned* w, unsigned* h, #endif /*LODEPNG_COMPILE_DECODER*/ /* -Reads one metadata chunk (other than IHDR) of the PNG file and outputs what it -read in the state. Returns error code on failure. +Reads one metadata chunk (other than IHDR, which is handled by lodepng_inspect) +of the PNG file and outputs what it read in the state. Returns error code on failure. Use lodepng_inspect first with a new state, then e.g. lodepng_chunk_find_const to find the desired chunk type, and if non null use lodepng_inspect_chunk (with chunk_pointer - start_of_file as pos). @@ -950,6 +1066,9 @@ out: output parameter, contains pointer to loaded buffer. outsize: output parameter, size of the allocated out buffer filename: the path to the file to load return value: error code (0 means ok) + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory. */ unsigned lodepng_load_file(unsigned char** out, size_t* outsize, const char* filename); @@ -960,6 +1079,9 @@ buffer: the buffer to write buffersize: size of the buffer to write filename: the path to the file to save to return value: error code (0 means ok) + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and encode in-memory */ unsigned lodepng_save_file(const unsigned char* buffer, size_t buffersize, const char* filename); #endif /*LODEPNG_COMPILE_DISK*/ @@ -1000,12 +1122,18 @@ unsigned encode(std::vector& out, /* Load a file from disk into an std::vector. return value: error code (0 means ok) + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory */ unsigned load_file(std::vector& buffer, const std::string& filename); /* Save the binary data in an std::vector to a file on disk. The file is overwritten without warning. + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and encode in-memory */ unsigned save_file(const std::vector& buffer, const std::string& filename); #endif /* LODEPNG_COMPILE_DISK */ @@ -1041,7 +1169,7 @@ unsigned compress(std::vector& out, const std::vector (2^31)-1 [ ] partial decoding (stream processing) [X] let the "isFullyOpaque" function check color keys and transparent palettes too @@ -1168,18 +1296,16 @@ The following features are supported by the decoder: gAMA: RGB gamma correction iCCP: ICC color profile sRGB: rendering intent + sBIT: significant bits 1.2. features not supported --------------------------- -The following features are _not_ supported: +The following features are not (yet) supported: *) some features needed to make a conformant PNG-Editor might be still missing. *) partial loading/stream processing. All data must be available and is processed in one call. -*) The following public chunks are not (yet) supported but treated as unknown chunks by LodePNG: - sBIT - hIST - sPLT +*) The hIST and sPLT public chunks are not (yet) supported but treated as unknown chunks 2. C and C++ version @@ -1505,6 +1631,11 @@ of the error in English as a string. Check the implementation of lodepng_error_text to see the meaning of each code. +It is not recommended to use the numerical values to programmatically make +different decisions based on error types as the numbers are not guaranteed to +stay backwards compatible. They are for human consumption only. Programmatically +only 0 or non-0 matter. + 8. chunks and PNG editing ------------------------- @@ -1678,6 +1809,9 @@ try to fix it if the compiler is modern and standards compliant. This decoder example shows the most basic usage of LodePNG. More complex examples can be found on the LodePNG website. +NOTE: these examples do not support wide-character filenames, you can use an +external method to handle such files and encode or decode in-memory + 10.1. decoder C++ example ------------------------- @@ -1775,6 +1909,12 @@ symbol. Not all changes are listed here, the commit history in github lists more: https://github.com/lvandeve/lodepng +*) 13 jun 2022: added support for the sBIT chunk. +*) 09 jan 2022: minor decoder speed improvements. +*) 27 jun 2021: added warnings that file reading/writing functions don't support + wide-character filenames (support for this is not planned, opening files is + not the core part of PNG decoding/decoding and is platform dependent). +*) 17 okt 2020: prevent decoding too large text/icc chunks by default. *) 06 mar 2020: simplified some of the dynamic memory allocations. *) 12 jan 2020: (!) added 'end' argument to lodepng_chunk_next to allow correct overflow checks. @@ -1941,5 +2081,5 @@ Domain: gmail dot com. Account: lode dot vandevenne. -Copyright (c) 2005-2020 Lode Vandevenne +Copyright (c) 2005-2022 Lode Vandevenne */ diff --git a/Library/linux/include/ngn.h b/Library/linux/include/ngn.h index f8ee42f..368bb1a 100644 --- a/Library/linux/include/ngn.h +++ b/Library/linux/include/ngn.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Archivo principal de la libreria Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -21,8 +21,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ @@ -64,16 +64,13 @@ -/*** Defines del proyecto (usar SOLO si no se usan los defines del proyecto de code::blocks ***/ -//#define OS_WINDOWS -//#define OS_LINUX -//#define MODE_DEBUG -//#define MODE_RELEASE - /*** Includes ***/ +// FLAGS de configuracion de la libreria +#include "config_flags.h" + // C++ #include // Tipos de datos INTXX_T de C++ 11 @@ -118,7 +115,7 @@ class NGN { // Destructor ~NGN(); - // Punteros a las clases + // Punteros a los singletons de las clases NGN_Log* log; // Mensages de depuracion NGN_System* system; // Funciones del sistema NGN_Math* math; // Funciones matematicas @@ -126,13 +123,15 @@ class NGN { NGN_Input* input; // Metodos de entrada NGN_Graphics* graphics; // Gestion del Renderer de SDL NGN_Render* render; // Dibuja los diferentes elementos graficos - NGN_Camera* camera; // Camara virtual 2D integrada NGN_Load* load; // Funciones para la carga de archivos NGN_Collisions* collisions; // Funciones del sistema de colisiones NGN_Sound* sound; // Gestion de los efectos de sonido NGN_Image* image; // Manipulacion de imagenes en RAW NGN_Disk* disk; // Gestion de archivos en el disco + // Punteros a los objetos + NGN_Camera* camera; // Camara virtual 2D integrada + // Iniciliaza la libreria bool Init(); diff --git a/Library/linux/include/ngn_audio_clip.h b/Library/linux/include/ngn_audio_clip.h index 6a7d070..a109c0a 100644 --- a/Library/linux/include/ngn_audio_clip.h +++ b/Library/linux/include/ngn_audio_clip.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Clips de audio Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/linux/include/ngn_camera.h b/Library/linux/include/ngn_camera.h index b8561c4..39de1df 100644 --- a/Library/linux/include/ngn_camera.h +++ b/Library/linux/include/ngn_camera.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Camara virtual en 2D Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/linux/include/ngn_canvas.h b/Library/linux/include/ngn_canvas.h index 51b8bab..783d1b5 100644 --- a/Library/linux/include/ngn_canvas.h +++ b/Library/linux/include/ngn_canvas.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Canvas - Capa de dibujo Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/linux/include/ngn_collisions.h b/Library/linux/include/ngn_collisions.h index 90e7ea4..c1bcb6c 100644 --- a/Library/linux/include/ngn_collisions.h +++ b/Library/linux/include/ngn_collisions.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Sistema de colisiones Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -60,11 +60,14 @@ class NGN_Collisions { // Public public: - // Constructor - NGN_Collisions(); + // Devuelve la instancia + static NGN_Collisions* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Collisions(); // Consulta el color de un pixel del mapa de colisiones uint32_t GetPixel(NGN_CollisionMapData* cmap, int32_t position_x, int32_t position_y); @@ -86,8 +89,18 @@ class NGN_Collisions { // Private private: + // Constructor + NGN_Collisions(); + + // Destructor + ~NGN_Collisions(); + + // Puntero de memoria a la instancia + static NGN_Collisions* instance; + + // Algoritmo de colision por cajas - bool CheckColliders(float x1, float y1, float w1, float h1, float x2, float y2, float w2, float h2); + bool CheckBoxColliders(float x1, float y1, float w1, float h1, float x2, float y2, float w2, float h2); // Deteccion de colisiones entre sprites por "pixel perfect" SDL_Surface* RenderSpriteInSurface( diff --git a/Library/linux/include/ngn_defines.h b/Library/linux/include/ngn_defines.h index c9199d8..f643490 100644 --- a/Library/linux/include/ngn_defines.h +++ b/Library/linux/include/ngn_defines.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Definiciones de prototipos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -59,9 +59,9 @@ /*** Version de N'gine ***/ static const int32_t NGN_VERSION_MAJOR = 1; // Version mayor -static const int32_t NGN_VERSION_MINOR = 10; // Version menor +static const int32_t NGN_VERSION_MINOR = 11; // Version menor static const int32_t NGN_VERSION_PATCH = 0; // Version parche -static const std::string NGN_VERSION_METADATA = "beta"; // Version metadatos +static const std::string NGN_VERSION_METADATA = "stable"; // Version metadatos /*** Definiciones generales ***/ static const int32_t NGN_DEFAULT_VALUE = 0x7FFFFFFF; // Valor de "defecto" diff --git a/Library/linux/include/ngn_disk.h b/Library/linux/include/ngn_disk.h index 8e9891b..2d7d07c 100644 --- a/Library/linux/include/ngn_disk.h +++ b/Library/linux/include/ngn_disk.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones de acceso al disco Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -66,11 +66,14 @@ class NGN_Disk { public: - // Constructor - NGN_Disk(); + // Devuelve la instancia + static NGN_Disk* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Disk(); // Lee un archivo en formato binario desde el disco y almacenalo en un buffer en RAM int32_t ReadBinaryFile(std::string filepath, std::vector &buffer); @@ -91,6 +94,16 @@ class NGN_Disk { private: + // Constructor + NGN_Disk(); + + // Destructor + ~NGN_Disk(); + + // Puntero de memoria a la instancia + static NGN_Disk* instance; + + // Genera una estructura de directorios int32_t MakePath(std::string path); diff --git a/Library/linux/include/ngn_filesystem.h b/Library/linux/include/ngn_filesystem.h index 4a7cf66..696c233 100644 --- a/Library/linux/include/ngn_filesystem.h +++ b/Library/linux/include/ngn_filesystem.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones del sistema de archivos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/linux/include/ngn_graphics.h b/Library/linux/include/ngn_graphics.h index a49040e..95d9849 100644 --- a/Library/linux/include/ngn_graphics.h +++ b/Library/linux/include/ngn_graphics.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Gestion del Renderer de SDL Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -68,11 +68,14 @@ class NGN_Graphics { // Public public: - // Contructor - NGN_Graphics(); + // Devuelve la instancia + static NGN_Graphics* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Graphics(); // Inicializa la ventana principal y la superficie de renderizado bool Init( @@ -91,7 +94,9 @@ class NGN_Graphics { SDL_Window* window; // Puntero a la ventana int32_t window_flags; // Control de los falgs de la ventana SDL_Renderer* renderer; // Puntero al renderer - SDL_Texture* backbuffer; // Backbufer para el renderizado + #if !defined (DISABLE_BACKBUFFER) + SDL_Texture* backbuffer; // Backbufer para el renderizado + #endif int8_t screen_mode; // Modo de pantalla actual bool vsync; // VSYNC Activo? @@ -180,10 +185,19 @@ class NGN_Graphics { - // Private private: + // Contructor + NGN_Graphics(); + + // Destructor + ~NGN_Graphics(); + + // Puntero de memoria a la instancia + static NGN_Graphics* instance; + + // Resolucion de pantalla completa int32_t desktop_w; int32_t desktop_h; @@ -207,6 +221,8 @@ class NGN_Graphics { void ChangeScreenMode(); // Cambio del VSYNC void SetVsync(); + // Cambio del modo de filtrado + void SetRenderScaleQuality(); // Gestion de los parametros del render void UpdateRendererFlags(); @@ -227,7 +243,9 @@ class NGN_Graphics { void GenerateRuntimeFrameId(); // Crea/actualiza el backbuffer del render - void SetBackbuffer(); + #if !defined (DISABLE_BACKBUFFER) + void SetBackbuffer(); + #endif // Manda el backbuffer a la pantalla void RenderBackbuffer(); // Limpia el backbuffer diff --git a/Library/linux/include/ngn_image.h b/Library/linux/include/ngn_image.h index bcf47e3..cd2dcc0 100644 --- a/Library/linux/include/ngn_image.h +++ b/Library/linux/include/ngn_image.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones para la manipulacion de imagenes en RAW Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -65,11 +65,14 @@ class NGN_Image { public: - // Constructor - NGN_Image(); + // Devuelve la instancia + static NGN_Image* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Image(); // Convierte una imagen RAW a datos de textura NGN_TextureData* ConvertRawToTextureData(NGN_RawImage* raw); @@ -98,6 +101,15 @@ class NGN_Image { private: + // Constructor + NGN_Image(); + + // Destructor + ~NGN_Image(); + + // Puntero de memoria a la instancia + static NGN_Image* instance; + }; diff --git a/Library/linux/include/ngn_input.h b/Library/linux/include/ngn_input.h index e287216..4e646c3 100644 --- a/Library/linux/include/ngn_input.h +++ b/Library/linux/include/ngn_input.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Meotodos de entrada Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -131,16 +131,27 @@ class NGN_Input { public: + // Devuelve la instancia + static NGN_Input* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); + + + private: + // Contructor NGN_Input(); // Destructor ~NGN_Input(); + // Puntero de memoria a la instancia + static NGN_Input* instance; - private: - // Define las propiedades del game controller struct controller_data { bool available; // El controlador esta disponible? diff --git a/Library/linux/include/ngn_load.h b/Library/linux/include/ngn_load.h index 71317de..919282c 100644 --- a/Library/linux/include/ngn_load.h +++ b/Library/linux/include/ngn_load.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones de carga de archivos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -72,11 +72,14 @@ class NGN_Load { // Public public: - // Contructor - NGN_Load(); + // Devuelve la instancia + static NGN_Load* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Load(); // Carga de texturas NGN_TextureData* Texture(std::string filepath); @@ -138,6 +141,16 @@ class NGN_Load { // Private private: + // Contructor + NGN_Load(); + + // Destructor + ~NGN_Load(); + + // Puntero de memoria a la instancia + static NGN_Load* instance; + + // Objeto para el acceso al sistema de archivos NGN_FileSystem* file_system; diff --git a/Library/linux/include/ngn_log.h b/Library/linux/include/ngn_log.h index a0b71a8..6f55f64 100644 --- a/Library/linux/include/ngn_log.h +++ b/Library/linux/include/ngn_log.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones de mensages de depuracion Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -61,11 +61,13 @@ class NGN_Log { public: - // Constructor - NGN_Log(); + // Devuelve la instancia + static NGN_Log* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); - // Destructor - ~NGN_Log(); + // Procesos iniciales despues de crear la instancia + void BootUp(); // Abre el archivo de registro bool OpenLogFile(std::string log_file, bool overwrite = true); @@ -79,10 +81,19 @@ class NGN_Log { private: + // Constructor + NGN_Log(); + + // Destructor + ~NGN_Log(); + + // Puntero de memoria a la instancia + static NGN_Log* instance; + std::string _log_file; // Nombre del archivo de registro bool _log_enabled; // Archivo de registro habilitado - std::fstream file; // Stream de gestion del archivo de registro + std::fstream file; // Stream de gestion del archivo de registro // Genera la marca de tiempo actual std::string GetTimeStamp(); diff --git a/Library/linux/include/ngn_math.h b/Library/linux/include/ngn_math.h index 16fb92d..7301881 100644 --- a/Library/linux/include/ngn_math.h +++ b/Library/linux/include/ngn_math.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones matematicas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -82,6 +82,10 @@ class Vector2 { Vector2 operator/(float); bool operator==(Vector2); bool operator!=(Vector2); + void operator+=(Vector2); + void operator-=(Vector2); + void operator*=(float); + void operator/=(float); private: @@ -109,6 +113,10 @@ class Vector2I32 { Vector2I32 operator/(int32_t); bool operator==(Vector2I32); bool operator!=(Vector2I32); + void operator+=(Vector2I32); + void operator-=(Vector2I32); + void operator*=(int32_t); + void operator/=(int32_t); private: @@ -136,6 +144,10 @@ class Vector2I64 { Vector2I64 operator/(int64_t); bool operator==(Vector2I64); bool operator!=(Vector2I64); + void operator+=(Vector2I64); + void operator-=(Vector2I64); + void operator*=(int64_t); + void operator/=(int64_t); private: @@ -150,11 +162,13 @@ class NGN_Math { // Segmento publico public: - // Contructor de la clase - NGN_Math(); + // Devuelve la instancia + static NGN_Math* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); - // Destructor de la clase - ~NGN_Math(); + // Procesos iniciales despues de crear la instancia + void BootUp(); // Distancia entre 2 puntos (4 parametros, punto flotante, 1a sobrecarga) @@ -186,6 +200,14 @@ class NGN_Math { // Segmento privado private: + // Contructor de la clase + NGN_Math(); + + // Destructor de la clase + ~NGN_Math(); + + // Puntero de memoria a la instancia + static NGN_Math* instance; }; diff --git a/Library/linux/include/ngn_music_clip.h b/Library/linux/include/ngn_music_clip.h index 5edb8aa..85ccac8 100644 --- a/Library/linux/include/ngn_music_clip.h +++ b/Library/linux/include/ngn_music_clip.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Clips de musica Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/linux/include/ngn_render.h b/Library/linux/include/ngn_render.h index bdab099..51b69ce 100644 --- a/Library/linux/include/ngn_render.h +++ b/Library/linux/include/ngn_render.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Gestion del Renderer de SDL Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -66,11 +66,14 @@ class NGN_Render { // Public public: - // Constructor - NGN_Render(); + // Devuelve la instancia + static NGN_Render* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Render(); // Dibuja una textura en la surface del renderer void Texture(NGN_Texture* texture, float position_x = (float)NGN_DEFAULT_VALUE, float position_y = (float)NGN_DEFAULT_VALUE); @@ -105,6 +108,16 @@ class NGN_Render { // Private private: + // Constructor + NGN_Render(); + + // Destructor + ~NGN_Render(); + + // Puntero de memoria a la instancia + static NGN_Render* instance; + + bool render2texture; // Flag de render to texture NGN_Texture* rend2text; // Textura de destino del render diff --git a/Library/linux/include/ngn_sound.h b/Library/linux/include/ngn_sound.h index 9ac1db4..4d86dcb 100644 --- a/Library/linux/include/ngn_sound.h +++ b/Library/linux/include/ngn_sound.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Sonido Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -86,11 +86,14 @@ class NGN_Sound { // Public public: - // Constructor de la clase - NGN_Sound(); + // Devuelve la instancia + static NGN_Sound* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor de la clase - ~NGN_Sound(); /*** Efectos de sonido (SFX) [64 simultaneos maximo por defecto] ***/ @@ -242,6 +245,16 @@ class NGN_Sound { // Private private: + // Constructor de la clase + NGN_Sound(); + + // Destructor de la clase + ~NGN_Sound(); + + // Puntero de memoria a la instancia + static NGN_Sound* instance; + + // Lista de sonidos disponibles std::vector sfx_cue; diff --git a/Library/linux/include/ngn_sprite.h b/Library/linux/include/ngn_sprite.h index 2a0975f..895b85a 100644 --- a/Library/linux/include/ngn_sprite.h +++ b/Library/linux/include/ngn_sprite.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Sprites Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/linux/include/ngn_system.h b/Library/linux/include/ngn_system.h index 24b4062..698a487 100644 --- a/Library/linux/include/ngn_system.h +++ b/Library/linux/include/ngn_system.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones de sistema Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -61,11 +61,13 @@ class NGN_System { // Public public: - // Contructor - NGN_System(); + // Devuelve la instancia + static NGN_System* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); - // Destructor - ~NGN_System(); + // Procesos iniciales despues de crear la instancia + void BootUp(); // Inicializa la libreria bool Init(); @@ -93,6 +95,15 @@ class NGN_System { // Private private: + // Contructor + NGN_System(); + + // Destructor + ~NGN_System(); + + // Puntero de memoria a la instancia + static NGN_System* instance; + // Resetea los flags y variables antes de leer el evento void ResetFlags(); diff --git a/Library/linux/include/ngn_text_layer.h b/Library/linux/include/ngn_text_layer.h index ab8c608..3b37761 100644 --- a/Library/linux/include/ngn_text_layer.h +++ b/Library/linux/include/ngn_text_layer.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Text Layer - Capa de texto con soporte TTF Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/linux/include/ngn_texture.h b/Library/linux/include/ngn_texture.h index b92e4b8..3f3ce88 100644 --- a/Library/linux/include/ngn_texture.h +++ b/Library/linux/include/ngn_texture.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Fondos con texturas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/linux/include/ngn_tiledbg.h b/Library/linux/include/ngn_tiledbg.h index 77030ab..3f14fc0 100644 --- a/Library/linux/include/ngn_tiledbg.h +++ b/Library/linux/include/ngn_tiledbg.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Fondos Tileados Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/linux/include/ngn_toolbox.h b/Library/linux/include/ngn_toolbox.h index a045473..f5d5260 100644 --- a/Library/linux/include/ngn_toolbox.h +++ b/Library/linux/include/ngn_toolbox.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** TOOL BOX - Caja de herramientas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -73,11 +73,13 @@ class NGN_ToolBox { // Segmento publico public: - // Constructor de la clase - NGN_ToolBox(); + // Devuelve la instancia + static NGN_ToolBox* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); - // Destructor de la clase - ~NGN_ToolBox(); + // Procesos iniciales despues de crear la instancia + void BootUp(); /*** Cadenas de texto ***/ @@ -98,6 +100,15 @@ class NGN_ToolBox { // Segmento privado private: + // Constructor de la clase + NGN_ToolBox(); + + // Destructor de la clase + ~NGN_ToolBox(); + + // Puntero de memoria a la instancia + static NGN_ToolBox* instance; + // Constantes de conversion a UTF-8 (2 bytes) // El primer byte en la codificacion en 2 bytes empieza con 110 y contiene 5 bits de datos const uint8_t utf8_b0_head = 0xC0; // 1100 0000 diff --git a/Library/linux/lib/libngn.a b/Library/linux/lib/libngn.a index 4e4781c..2aedae7 100644 Binary files a/Library/linux/lib/libngn.a and b/Library/linux/lib/libngn.a differ diff --git a/Library/linux/lib/libngn_d.a b/Library/linux/lib/libngn_d.a index f95eb69..d6745e3 100644 Binary files a/Library/linux/lib/libngn_d.a and b/Library/linux/lib/libngn_d.a differ diff --git a/Library/windows/_NGN_1.10.0-beta.x64.null b/Library/windows/_NGN_1.10.0-beta.x64.null deleted file mode 100644 index e69de29..0000000 diff --git a/Examples/03_tiled_backgrounds/debug_log.txt b/Library/windows/_NGN_1.11.0-stable.x64.null similarity index 100% rename from Examples/03_tiled_backgrounds/debug_log.txt rename to Library/windows/_NGN_1.11.0-stable.x64.null diff --git a/Library/windows/include/config_flags.h b/Library/windows/include/config_flags.h new file mode 100644 index 0000000..238dc3e --- /dev/null +++ b/Library/windows/include/config_flags.h @@ -0,0 +1,124 @@ +/****************************************************************************** + + N'gine Lib for C++ + *** Version 1.11.0-stable *** + FLAGS de configuracion de la libreria + La libreria debe compilarse para que estos FLAGS sean efectivos + + Proyecto iniciado el 1 de Febrero del 2016 + (cc) 2016 - 2023 by Cesar Rincon "NightFox" + https://nightfoxandco.com + contact@nightfoxandco.com + + Requiere GCC 11.3.0 MinGW64 (SEH) - 64-bits + https://www.mingw-w64.org/ + + Requiere SDL2 (2.0.22) - 64-bits + http://www.libsdl.org/download-2.0.php + + Requiere SDL2_TTF (2.0.15) - 64-bits + http://www.libsdl.org/download-2.0.php + + Requiere SFML (2.5.1) - 64-bits + http://www.sfml-dev.org/ + + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne + http://lodev.org/lodepng/ + + + N'gine se distribuye bajo la licencia CREATIVE COMMONS + "Attribution-NonCommercial 4.0 International" + https://creativecommons.org/licenses/by-nc/4.0/ + + You are free to: + + - Share + copy and redistribute the material in any medium or format. + - Adapt + remix, transform, and build upon the material. + + The licensor cannot revoke these freedoms as long as you follow + the license terms. + + Under the following terms: + + - Attribution + You must give appropriate credit, provide a link to the license, + and indicate if changes were made. You may do so in any reasonable + manner, but not in any way that suggests the licensor endorses you + or your use. + + - NonCommercial + You may not use the material for commercial purposes. + + - No additional restrictions + You may not apply legal terms or technological measures that + legally restrict others from doing anything the license permits. + +******************************************************************************/ + + + +#ifndef CONFIG_FLAGS_H_INCLUDED +#define CONFIG_FLAGS_H_INCLUDED + + + +/****************************************************************************** + + Flags de seleccion del sistema operativo de destino + Usar solo 1 a la vez y si no se esta usando el proyecto de code::blocks + + Flags to select the target operating system + Use only 1 at a time and if you are not using the code::blocks project + +******************************************************************************/ + +//#define OS_WINDOWS +//#define OS_LINUX + + +/****************************************************************************** + + Flags de seleccion del tipo de binario (debug o release) + Usar solo 1 a la vez y si no se esta usando el proyecto de code::blocks + + Flags to select the type of the binary (debug or release) + Use only 1 at a time and if you are not using the code::blocks project + +******************************************************************************/ + +//#define MODE_DEBUG +//#define MODE_RELEASE + + +/****************************************************************************** + + Flags de configuracion avanzados de N'gine + N'gine advanced configuration flags + +******************************************************************************/ + +/* + Deshabilita las funciones avanzadas de sonido de SFML + Usar solo si se usa una version inferior a la 2.5.1. + Disables the advanced features of SFML audio library. + Use only if you're using a version under 2.5.1 +*/ +//#define DISABLE_SFML_AUDIO_ADVANCED_FEATURES + +/* + Deshabilita la funcion de backbuffer de N'gine. + Esto aumenta el rendimiento en mas de un 50% en GPU's de perfil bajo, + pero se pierde la opcion de filtrado bilineal en objetos y capas + por separado. + Disables the backbuffer feature of N'gine. + That speeds up to 50% in lowend GPU's, but also disables the option + of enable bilinear filtering in objects and layers separately. +*/ +//#define DISABLE_BACKBUFFER + + + +#endif // CONFIG_FLAGS_H_INCLUDED diff --git a/Library/windows/include/lodepng/lodepng.h b/Library/windows/include/lodepng/lodepng.h index a386459..fdafc77 100644 --- a/Library/windows/include/lodepng/lodepng.h +++ b/Library/windows/include/lodepng/lodepng.h @@ -1,7 +1,7 @@ /* -LodePNG version 20200306 +LodePNG version 20220717 -Copyright (c) 2005-2020 Lode Vandevenne +Copyright (c) 2005-2022 Lode Vandevenne This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -35,43 +35,50 @@ The following #defines are used to create code sections. They can be disabled to disable code sections, which can give faster compile time and smaller binary. The "NO_COMPILE" defines are designed to be used to pass as defines to the compiler command to disable them without modifying this header, e.g. --DLODEPNG_NO_COMPILE_ZLIB for gcc. -In addition to those below, you can also define LODEPNG_NO_COMPILE_CRC to -allow implementing a custom lodepng_crc32. +-DLODEPNG_NO_COMPILE_ZLIB for gcc or clang. */ /*deflate & zlib. If disabled, you must specify alternative zlib functions in the custom_zlib field of the compress and decompress settings*/ #ifndef LODEPNG_NO_COMPILE_ZLIB +/*pass -DLODEPNG_NO_COMPILE_ZLIB to the compiler to disable this, or comment out LODEPNG_COMPILE_ZLIB below*/ #define LODEPNG_COMPILE_ZLIB #endif /*png encoder and png decoder*/ #ifndef LODEPNG_NO_COMPILE_PNG +/*pass -DLODEPNG_NO_COMPILE_PNG to the compiler to disable this, or comment out LODEPNG_COMPILE_PNG below*/ #define LODEPNG_COMPILE_PNG #endif /*deflate&zlib decoder and png decoder*/ #ifndef LODEPNG_NO_COMPILE_DECODER +/*pass -DLODEPNG_NO_COMPILE_DECODER to the compiler to disable this, or comment out LODEPNG_COMPILE_DECODER below*/ #define LODEPNG_COMPILE_DECODER #endif /*deflate&zlib encoder and png encoder*/ #ifndef LODEPNG_NO_COMPILE_ENCODER +/*pass -DLODEPNG_NO_COMPILE_ENCODER to the compiler to disable this, or comment out LODEPNG_COMPILE_ENCODER below*/ #define LODEPNG_COMPILE_ENCODER #endif /*the optional built in harddisk file loading and saving functions*/ #ifndef LODEPNG_NO_COMPILE_DISK +/*pass -DLODEPNG_NO_COMPILE_DISK to the compiler to disable this, or comment out LODEPNG_COMPILE_DISK below*/ #define LODEPNG_COMPILE_DISK #endif /*support for chunks other than IHDR, IDAT, PLTE, tRNS, IEND: ancillary and unknown chunks*/ #ifndef LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS +/*pass -DLODEPNG_NO_COMPILE_ANCILLARY_CHUNKS to the compiler to disable this, +or comment out LODEPNG_COMPILE_ANCILLARY_CHUNKS below*/ #define LODEPNG_COMPILE_ANCILLARY_CHUNKS #endif /*ability to convert error numerical codes to English text string*/ #ifndef LODEPNG_NO_COMPILE_ERROR_TEXT +/*pass -DLODEPNG_NO_COMPILE_ERROR_TEXT to the compiler to disable this, +or comment out LODEPNG_COMPILE_ERROR_TEXT below*/ #define LODEPNG_COMPILE_ERROR_TEXT #endif @@ -79,12 +86,24 @@ the custom_zlib field of the compress and decompress settings*/ you can define the functions lodepng_free, lodepng_malloc and lodepng_realloc in your source files with custom allocators.*/ #ifndef LODEPNG_NO_COMPILE_ALLOCATORS +/*pass -DLODEPNG_NO_COMPILE_ALLOCATORS to the compiler to disable the built-in ones, +or comment out LODEPNG_COMPILE_ALLOCATORS below*/ #define LODEPNG_COMPILE_ALLOCATORS #endif +/*Disable built-in CRC function, in that case a custom implementation of +lodepng_crc32 must be defined externally so that it can be linked in.*/ +#ifndef LODEPNG_NO_COMPILE_CRC +/*pass -DLODEPNG_NO_COMPILE_CRC to the compiler to disable the built-in one, +or comment out LODEPNG_COMPILE_CRC below*/ +#define LODEPNG_COMPILE_CRC +#endif + /*compile the C++ version (you can disable the C++ wrapper here even when compiling for C++)*/ #ifdef __cplusplus #ifndef LODEPNG_NO_COMPILE_CPP +/*pass -DLODEPNG_NO_COMPILE_CPP to the compiler to disable C++ (not needed if a C-only compiler), +or comment out LODEPNG_COMPILE_CPP below*/ #define LODEPNG_COMPILE_CPP #endif #endif @@ -142,16 +161,24 @@ unsigned lodepng_decode24(unsigned char** out, unsigned* w, unsigned* h, /* Load PNG from disk, from file with given name. Same as the other decode functions, but instead takes a filename as input. -*/ + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory.*/ unsigned lodepng_decode_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename, LodePNGColorType colortype, unsigned bitdepth); -/*Same as lodepng_decode_file, but always decodes to 32-bit RGBA raw image.*/ +/*Same as lodepng_decode_file, but always decodes to 32-bit RGBA raw image. + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory.*/ unsigned lodepng_decode32_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename); -/*Same as lodepng_decode_file, but always decodes to 24-bit RGB raw image.*/ +/*Same as lodepng_decode_file, but always decodes to 24-bit RGB raw image. + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory.*/ unsigned lodepng_decode24_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename); #endif /*LODEPNG_COMPILE_DISK*/ @@ -191,17 +218,26 @@ unsigned lodepng_encode24(unsigned char** out, size_t* outsize, /* Converts raw pixel data into a PNG file on disk. Same as the other encode functions, but instead takes a filename as output. + NOTE: This overwrites existing files without warning! -*/ + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and encode in-memory.*/ unsigned lodepng_encode_file(const char* filename, const unsigned char* image, unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth); -/*Same as lodepng_encode_file, but always encodes from 32-bit RGBA raw image.*/ +/*Same as lodepng_encode_file, but always encodes from 32-bit RGBA raw image. + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and encode in-memory.*/ unsigned lodepng_encode32_file(const char* filename, const unsigned char* image, unsigned w, unsigned h); -/*Same as lodepng_encode_file, but always encodes from 24-bit RGB raw image.*/ +/*Same as lodepng_encode_file, but always encodes from 24-bit RGB raw image. + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and encode in-memory.*/ unsigned lodepng_encode24_file(const char* filename, const unsigned char* image, unsigned w, unsigned h); #endif /*LODEPNG_COMPILE_DISK*/ @@ -223,6 +259,9 @@ unsigned decode(std::vector& out, unsigned& w, unsigned& h, /* Converts PNG file from disk to raw pixel data in memory. Same as the other decode functions, but instead takes a filename as input. + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory. */ unsigned decode(std::vector& out, unsigned& w, unsigned& h, const std::string& filename, @@ -243,7 +282,11 @@ unsigned encode(std::vector& out, /* Converts 32-bit RGBA raw pixel data into a PNG file on disk. Same as the other encode functions, but instead takes a filename as output. + NOTE: This overwrites existing files without warning! + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory. */ unsigned encode(const std::string& filename, const unsigned char* in, unsigned w, unsigned h, @@ -270,12 +313,21 @@ struct LodePNGDecompressSettings { unsigned ignore_adler32; /*if 1, continue and don't give an error message if the Adler32 checksum is corrupted*/ unsigned ignore_nlen; /*ignore complement of len checksum in uncompressed blocks*/ - /*use custom zlib decoder instead of built in one (default: null)*/ + /*Maximum decompressed size, beyond this the decoder may (and is encouraged to) stop decoding, + return an error, output a data size > max_output_size and all the data up to that point. This is + not hard limit nor a guarantee, but can prevent excessive memory usage. This setting is + ignored by the PNG decoder, but is used by the deflate/zlib decoder and can be used by custom ones. + Set to 0 to impose no limit (the default).*/ + size_t max_output_size; + + /*use custom zlib decoder instead of built in one (default: null). + Should return 0 if success, any non-0 if error (numeric value not exposed).*/ unsigned (*custom_zlib)(unsigned char**, size_t*, const unsigned char*, size_t, const LodePNGDecompressSettings*); /*use custom deflate decoder instead of built in one (default: null) - if custom_zlib is not null, custom_inflate is ignored (the zlib format uses deflate)*/ + if custom_zlib is not null, custom_inflate is ignored (the zlib format uses deflate). + Should return 0 if success, any non-0 if error (numeric value not exposed).*/ unsigned (*custom_inflate)(unsigned char**, size_t*, const unsigned char*, size_t, const LodePNGDecompressSettings*); @@ -341,8 +393,10 @@ typedef struct LodePNGColorMode { The alpha channels must be set as well, set them to 255 for opaque images. - When decoding, by default you can ignore this palette, since LodePNG already - fills the palette colors in the pixels of the raw RGBA output. + When decoding, with the default settings you can ignore this palette, since + LodePNG already fills the palette colors in the pixels of the raw RGBA output, + but when decoding to the original PNG color mode it is needed to reconstruct + the colors. The palette is only supported for color type 3. */ @@ -432,10 +486,12 @@ typedef struct LodePNGInfo { with values truncated to the bit depth in the unsigned integer. For grayscale and palette PNGs, the value is stored in background_r. The values - in background_g and background_b are then unused. + in background_g and background_b are then unused. The decoder will set them + equal to background_r, the encoder ignores them in this case. - So when decoding, you may get these in a different color mode than the one you requested - for the raw pixels. + When decoding, you may get these in a different color mode than the one you requested + for the raw pixels: the colortype and bitdepth defined by info_png.color, that is the + ones defined in the header of the PNG image, are used. When encoding with auto_convert, you must use the color model defined in info_png.color for these values. The encoder normally ignores info_png.color when auto_convert is on, but will @@ -454,30 +510,36 @@ typedef struct LodePNGInfo { unsigned background_b; /*blue component of suggested background color*/ /* - non-international text chunks (tEXt and zTXt) + Non-international text chunks (tEXt and zTXt) The char** arrays each contain num strings. The actual messages are in text_strings, while text_keys are keywords that give a short description what the actual text represents, e.g. Title, Author, Description, or anything else. - All the string fields below including keys, names and language tags are null terminated. + All the string fields below including strings, keys, names and language tags are null terminated. The PNG specification uses null characters for the keys, names and tags, and forbids null characters to appear in the main text which is why we can use null termination everywhere here. - A keyword is minimum 1 character and maximum 79 characters long. It's - discouraged to use a single line length longer than 79 characters for texts. + A keyword is minimum 1 character and maximum 79 characters long (plus the + additional null terminator). It's discouraged to use a single line length + longer than 79 characters for texts. Don't allocate these text buffers yourself. Use the init/cleanup functions correctly and use lodepng_add_text and lodepng_clear_text. + + Standard text chunk keywords and strings are encoded using Latin-1. */ size_t text_num; /*the amount of texts in these char** buffers (there may be more texts in itext)*/ char** text_keys; /*the keyword of a text chunk (e.g. "Comment")*/ char** text_strings; /*the actual text*/ /* - international text chunks (iTXt) + International text chunks (iTXt) Similar to the non-international text chunks, but with additional strings - "langtags" and "transkeys". + "langtags" and "transkeys", and the following text encodings are used: + keys: Latin-1, langtags: ASCII, transkeys and strings: UTF-8. + keys must be 1-79 characters (plus the additional null terminator), the other + strings are any length. */ size_t itext_num; /*the amount of international texts in this PNG*/ char** itext_keys; /*the English keyword of the text chunk (e.g. "Comment")*/ @@ -496,7 +558,7 @@ typedef struct LodePNGInfo { unsigned phys_unit; /*may be 0 (unknown unit) or 1 (metre)*/ /* - Color profile related chunks: gAMA, cHRM, sRGB, iCPP + Color profile related chunks: gAMA, cHRM, sRGB, iCPP, sBIT LodePNG does not apply any color conversions on pixels in the encoder or decoder and does not interpret these color profile values. It merely passes on the information. If you wish to use color profiles and convert colors, please @@ -559,6 +621,45 @@ typedef struct LodePNGInfo { unsigned char* iccp_profile; unsigned iccp_profile_size; /* The size of iccp_profile in bytes */ + /* + sBIT chunk: significant bits. Optional metadata, only set this if needed. + + If defined, these values give the bit depth of the original data. Since PNG only stores 1, 2, 4, 8 or 16-bit + per channel data, the significant bits value can be used to indicate the original encoded data has another + sample depth, such as 10 or 12. + + Encoders using this value, when storing the pixel data, should use the most significant bits + of the data to store the original bits, and use a good sample depth scaling method such as + "left bit replication" to fill in the least significant bits, rather than fill zeroes. + + Decoders using this value, if able to work with data that's e.g. 10-bit or 12-bit, should right + shift the data to go back to the original bit depth, but decoders are also allowed to ignore + sbit and work e.g. with the 8-bit or 16-bit data from the PNG directly, since thanks + to the encoder contract, the values encoded in PNG are in valid range for the PNG bit depth. + + For grayscale images, sbit_g and sbit_b are not used, and for images that don't use color + type RGBA or grayscale+alpha, sbit_a is not used (it's not used even for palette images with + translucent palette values, or images with color key). The values that are used must be + greater than zero and smaller than or equal to the PNG bit depth. + + The color type from the header in the PNG image defines these used and unused fields: if + decoding with a color mode conversion, such as always decoding to RGBA, this metadata still + only uses the color type of the original PNG, and may e.g. lack the alpha channel info + if the PNG was RGB. When encoding with auto_convert (as well as without), also always the + color model defined in info_png.color determines this. + + NOTE: enabling sbit can hurt compression, because the encoder can then not always use + auto_convert to choose a more optimal color mode for the data, because the PNG format has + strict requirements for the allowed sbit values in combination with color modes. + For example, setting these fields to 10-bit will force the encoder to keep using a 16-bit per channel + color mode, even if the pixel data would in fact fit in a more efficient 8-bit mode. + */ + unsigned sbit_defined; /*is significant bits given? if not, the values below are unused*/ + unsigned sbit_r; /*red or gray component of significant bits*/ + unsigned sbit_g; /*green component of significant bits*/ + unsigned sbit_b; /*blue component of significant bits*/ + unsigned sbit_a; /*alpha component of significant bits*/ + /* End of color profile related chunks */ @@ -639,8 +740,19 @@ typedef struct LodePNGDecoderSettings { #ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS unsigned read_text_chunks; /*if false but remember_unknown_chunks is true, they're stored in the unknown chunks*/ + /*store all bytes from unknown chunks in the LodePNGInfo (off by default, useful for a png editor)*/ unsigned remember_unknown_chunks; + + /* maximum size for decompressed text chunks. If a text chunk's text is larger than this, an error is returned, + unless reading text chunks is disabled or this limit is set higher or disabled. Set to 0 to allow any size. + By default it is a value that prevents unreasonably large strings from hogging memory. */ + size_t max_text_size; + + /* maximum size for compressed ICC chunks. If the ICC profile is larger than this, an error will be returned. Set to + 0 to allow any size. By default this is a value that prevents ICC profiles that would be much larger than any + legitimate profile could be to hog memory. */ + size_t max_icc_size; #endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ } LodePNGDecoderSettings; @@ -720,7 +832,11 @@ typedef struct LodePNGEncoderSettings { const unsigned char* predefined_filters; /*force creating a PLTE chunk if colortype is 2 or 6 (= a suggested palette). - If colortype is 3, PLTE is _always_ created.*/ + If colortype is 3, PLTE is always created. If color type is explicitely set + to a grayscale type (1 or 4), this is not done and is ignored. If enabling this, + a palette must be present in the info_png. + NOTE: enabling this may worsen compression if auto_convert is used to choose + optimal color mode, because it cannot use grayscale color modes in this case*/ unsigned force_palette; #ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS /*add LodePNG identifier and version as a text chunk, for debugging*/ @@ -774,8 +890,8 @@ unsigned lodepng_inspect(unsigned* w, unsigned* h, #endif /*LODEPNG_COMPILE_DECODER*/ /* -Reads one metadata chunk (other than IHDR) of the PNG file and outputs what it -read in the state. Returns error code on failure. +Reads one metadata chunk (other than IHDR, which is handled by lodepng_inspect) +of the PNG file and outputs what it read in the state. Returns error code on failure. Use lodepng_inspect first with a new state, then e.g. lodepng_chunk_find_const to find the desired chunk type, and if non null use lodepng_inspect_chunk (with chunk_pointer - start_of_file as pos). @@ -950,6 +1066,9 @@ out: output parameter, contains pointer to loaded buffer. outsize: output parameter, size of the allocated out buffer filename: the path to the file to load return value: error code (0 means ok) + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory. */ unsigned lodepng_load_file(unsigned char** out, size_t* outsize, const char* filename); @@ -960,6 +1079,9 @@ buffer: the buffer to write buffersize: size of the buffer to write filename: the path to the file to save to return value: error code (0 means ok) + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and encode in-memory */ unsigned lodepng_save_file(const unsigned char* buffer, size_t buffersize, const char* filename); #endif /*LODEPNG_COMPILE_DISK*/ @@ -1000,12 +1122,18 @@ unsigned encode(std::vector& out, /* Load a file from disk into an std::vector. return value: error code (0 means ok) + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and decode in-memory */ unsigned load_file(std::vector& buffer, const std::string& filename); /* Save the binary data in an std::vector to a file on disk. The file is overwritten without warning. + +NOTE: Wide-character filenames are not supported, you can use an external method +to handle such files and encode in-memory */ unsigned save_file(const std::vector& buffer, const std::string& filename); #endif /* LODEPNG_COMPILE_DISK */ @@ -1041,7 +1169,7 @@ unsigned compress(std::vector& out, const std::vector (2^31)-1 [ ] partial decoding (stream processing) [X] let the "isFullyOpaque" function check color keys and transparent palettes too @@ -1168,18 +1296,16 @@ The following features are supported by the decoder: gAMA: RGB gamma correction iCCP: ICC color profile sRGB: rendering intent + sBIT: significant bits 1.2. features not supported --------------------------- -The following features are _not_ supported: +The following features are not (yet) supported: *) some features needed to make a conformant PNG-Editor might be still missing. *) partial loading/stream processing. All data must be available and is processed in one call. -*) The following public chunks are not (yet) supported but treated as unknown chunks by LodePNG: - sBIT - hIST - sPLT +*) The hIST and sPLT public chunks are not (yet) supported but treated as unknown chunks 2. C and C++ version @@ -1505,6 +1631,11 @@ of the error in English as a string. Check the implementation of lodepng_error_text to see the meaning of each code. +It is not recommended to use the numerical values to programmatically make +different decisions based on error types as the numbers are not guaranteed to +stay backwards compatible. They are for human consumption only. Programmatically +only 0 or non-0 matter. + 8. chunks and PNG editing ------------------------- @@ -1678,6 +1809,9 @@ try to fix it if the compiler is modern and standards compliant. This decoder example shows the most basic usage of LodePNG. More complex examples can be found on the LodePNG website. +NOTE: these examples do not support wide-character filenames, you can use an +external method to handle such files and encode or decode in-memory + 10.1. decoder C++ example ------------------------- @@ -1775,6 +1909,12 @@ symbol. Not all changes are listed here, the commit history in github lists more: https://github.com/lvandeve/lodepng +*) 13 jun 2022: added support for the sBIT chunk. +*) 09 jan 2022: minor decoder speed improvements. +*) 27 jun 2021: added warnings that file reading/writing functions don't support + wide-character filenames (support for this is not planned, opening files is + not the core part of PNG decoding/decoding and is platform dependent). +*) 17 okt 2020: prevent decoding too large text/icc chunks by default. *) 06 mar 2020: simplified some of the dynamic memory allocations. *) 12 jan 2020: (!) added 'end' argument to lodepng_chunk_next to allow correct overflow checks. @@ -1941,5 +2081,5 @@ Domain: gmail dot com. Account: lode dot vandevenne. -Copyright (c) 2005-2020 Lode Vandevenne +Copyright (c) 2005-2022 Lode Vandevenne */ diff --git a/Library/windows/include/ngn.h b/Library/windows/include/ngn.h index f8ee42f..368bb1a 100644 --- a/Library/windows/include/ngn.h +++ b/Library/windows/include/ngn.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Archivo principal de la libreria Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -21,8 +21,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ @@ -64,16 +64,13 @@ -/*** Defines del proyecto (usar SOLO si no se usan los defines del proyecto de code::blocks ***/ -//#define OS_WINDOWS -//#define OS_LINUX -//#define MODE_DEBUG -//#define MODE_RELEASE - /*** Includes ***/ +// FLAGS de configuracion de la libreria +#include "config_flags.h" + // C++ #include // Tipos de datos INTXX_T de C++ 11 @@ -118,7 +115,7 @@ class NGN { // Destructor ~NGN(); - // Punteros a las clases + // Punteros a los singletons de las clases NGN_Log* log; // Mensages de depuracion NGN_System* system; // Funciones del sistema NGN_Math* math; // Funciones matematicas @@ -126,13 +123,15 @@ class NGN { NGN_Input* input; // Metodos de entrada NGN_Graphics* graphics; // Gestion del Renderer de SDL NGN_Render* render; // Dibuja los diferentes elementos graficos - NGN_Camera* camera; // Camara virtual 2D integrada NGN_Load* load; // Funciones para la carga de archivos NGN_Collisions* collisions; // Funciones del sistema de colisiones NGN_Sound* sound; // Gestion de los efectos de sonido NGN_Image* image; // Manipulacion de imagenes en RAW NGN_Disk* disk; // Gestion de archivos en el disco + // Punteros a los objetos + NGN_Camera* camera; // Camara virtual 2D integrada + // Iniciliaza la libreria bool Init(); diff --git a/Library/windows/include/ngn_audio_clip.h b/Library/windows/include/ngn_audio_clip.h index 6a7d070..a109c0a 100644 --- a/Library/windows/include/ngn_audio_clip.h +++ b/Library/windows/include/ngn_audio_clip.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Clips de audio Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/windows/include/ngn_camera.h b/Library/windows/include/ngn_camera.h index b8561c4..39de1df 100644 --- a/Library/windows/include/ngn_camera.h +++ b/Library/windows/include/ngn_camera.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Camara virtual en 2D Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/windows/include/ngn_canvas.h b/Library/windows/include/ngn_canvas.h index 51b8bab..783d1b5 100644 --- a/Library/windows/include/ngn_canvas.h +++ b/Library/windows/include/ngn_canvas.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Canvas - Capa de dibujo Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/windows/include/ngn_collisions.h b/Library/windows/include/ngn_collisions.h index 90e7ea4..c1bcb6c 100644 --- a/Library/windows/include/ngn_collisions.h +++ b/Library/windows/include/ngn_collisions.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Sistema de colisiones Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -60,11 +60,14 @@ class NGN_Collisions { // Public public: - // Constructor - NGN_Collisions(); + // Devuelve la instancia + static NGN_Collisions* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Collisions(); // Consulta el color de un pixel del mapa de colisiones uint32_t GetPixel(NGN_CollisionMapData* cmap, int32_t position_x, int32_t position_y); @@ -86,8 +89,18 @@ class NGN_Collisions { // Private private: + // Constructor + NGN_Collisions(); + + // Destructor + ~NGN_Collisions(); + + // Puntero de memoria a la instancia + static NGN_Collisions* instance; + + // Algoritmo de colision por cajas - bool CheckColliders(float x1, float y1, float w1, float h1, float x2, float y2, float w2, float h2); + bool CheckBoxColliders(float x1, float y1, float w1, float h1, float x2, float y2, float w2, float h2); // Deteccion de colisiones entre sprites por "pixel perfect" SDL_Surface* RenderSpriteInSurface( diff --git a/Library/windows/include/ngn_defines.h b/Library/windows/include/ngn_defines.h index c9199d8..f643490 100644 --- a/Library/windows/include/ngn_defines.h +++ b/Library/windows/include/ngn_defines.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Definiciones de prototipos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -59,9 +59,9 @@ /*** Version de N'gine ***/ static const int32_t NGN_VERSION_MAJOR = 1; // Version mayor -static const int32_t NGN_VERSION_MINOR = 10; // Version menor +static const int32_t NGN_VERSION_MINOR = 11; // Version menor static const int32_t NGN_VERSION_PATCH = 0; // Version parche -static const std::string NGN_VERSION_METADATA = "beta"; // Version metadatos +static const std::string NGN_VERSION_METADATA = "stable"; // Version metadatos /*** Definiciones generales ***/ static const int32_t NGN_DEFAULT_VALUE = 0x7FFFFFFF; // Valor de "defecto" diff --git a/Library/windows/include/ngn_disk.h b/Library/windows/include/ngn_disk.h index 8e9891b..2d7d07c 100644 --- a/Library/windows/include/ngn_disk.h +++ b/Library/windows/include/ngn_disk.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones de acceso al disco Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -66,11 +66,14 @@ class NGN_Disk { public: - // Constructor - NGN_Disk(); + // Devuelve la instancia + static NGN_Disk* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Disk(); // Lee un archivo en formato binario desde el disco y almacenalo en un buffer en RAM int32_t ReadBinaryFile(std::string filepath, std::vector &buffer); @@ -91,6 +94,16 @@ class NGN_Disk { private: + // Constructor + NGN_Disk(); + + // Destructor + ~NGN_Disk(); + + // Puntero de memoria a la instancia + static NGN_Disk* instance; + + // Genera una estructura de directorios int32_t MakePath(std::string path); diff --git a/Library/windows/include/ngn_filesystem.h b/Library/windows/include/ngn_filesystem.h index 4a7cf66..696c233 100644 --- a/Library/windows/include/ngn_filesystem.h +++ b/Library/windows/include/ngn_filesystem.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones del sistema de archivos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/windows/include/ngn_graphics.h b/Library/windows/include/ngn_graphics.h index a49040e..95d9849 100644 --- a/Library/windows/include/ngn_graphics.h +++ b/Library/windows/include/ngn_graphics.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Gestion del Renderer de SDL Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -68,11 +68,14 @@ class NGN_Graphics { // Public public: - // Contructor - NGN_Graphics(); + // Devuelve la instancia + static NGN_Graphics* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Graphics(); // Inicializa la ventana principal y la superficie de renderizado bool Init( @@ -91,7 +94,9 @@ class NGN_Graphics { SDL_Window* window; // Puntero a la ventana int32_t window_flags; // Control de los falgs de la ventana SDL_Renderer* renderer; // Puntero al renderer - SDL_Texture* backbuffer; // Backbufer para el renderizado + #if !defined (DISABLE_BACKBUFFER) + SDL_Texture* backbuffer; // Backbufer para el renderizado + #endif int8_t screen_mode; // Modo de pantalla actual bool vsync; // VSYNC Activo? @@ -180,10 +185,19 @@ class NGN_Graphics { - // Private private: + // Contructor + NGN_Graphics(); + + // Destructor + ~NGN_Graphics(); + + // Puntero de memoria a la instancia + static NGN_Graphics* instance; + + // Resolucion de pantalla completa int32_t desktop_w; int32_t desktop_h; @@ -207,6 +221,8 @@ class NGN_Graphics { void ChangeScreenMode(); // Cambio del VSYNC void SetVsync(); + // Cambio del modo de filtrado + void SetRenderScaleQuality(); // Gestion de los parametros del render void UpdateRendererFlags(); @@ -227,7 +243,9 @@ class NGN_Graphics { void GenerateRuntimeFrameId(); // Crea/actualiza el backbuffer del render - void SetBackbuffer(); + #if !defined (DISABLE_BACKBUFFER) + void SetBackbuffer(); + #endif // Manda el backbuffer a la pantalla void RenderBackbuffer(); // Limpia el backbuffer diff --git a/Library/windows/include/ngn_image.h b/Library/windows/include/ngn_image.h index bcf47e3..cd2dcc0 100644 --- a/Library/windows/include/ngn_image.h +++ b/Library/windows/include/ngn_image.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones para la manipulacion de imagenes en RAW Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -65,11 +65,14 @@ class NGN_Image { public: - // Constructor - NGN_Image(); + // Devuelve la instancia + static NGN_Image* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Image(); // Convierte una imagen RAW a datos de textura NGN_TextureData* ConvertRawToTextureData(NGN_RawImage* raw); @@ -98,6 +101,15 @@ class NGN_Image { private: + // Constructor + NGN_Image(); + + // Destructor + ~NGN_Image(); + + // Puntero de memoria a la instancia + static NGN_Image* instance; + }; diff --git a/Library/windows/include/ngn_input.h b/Library/windows/include/ngn_input.h index e287216..4e646c3 100644 --- a/Library/windows/include/ngn_input.h +++ b/Library/windows/include/ngn_input.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Meotodos de entrada Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -131,16 +131,27 @@ class NGN_Input { public: + // Devuelve la instancia + static NGN_Input* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); + + + private: + // Contructor NGN_Input(); // Destructor ~NGN_Input(); + // Puntero de memoria a la instancia + static NGN_Input* instance; - private: - // Define las propiedades del game controller struct controller_data { bool available; // El controlador esta disponible? diff --git a/Library/windows/include/ngn_load.h b/Library/windows/include/ngn_load.h index 71317de..919282c 100644 --- a/Library/windows/include/ngn_load.h +++ b/Library/windows/include/ngn_load.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones de carga de archivos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -72,11 +72,14 @@ class NGN_Load { // Public public: - // Contructor - NGN_Load(); + // Devuelve la instancia + static NGN_Load* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Load(); // Carga de texturas NGN_TextureData* Texture(std::string filepath); @@ -138,6 +141,16 @@ class NGN_Load { // Private private: + // Contructor + NGN_Load(); + + // Destructor + ~NGN_Load(); + + // Puntero de memoria a la instancia + static NGN_Load* instance; + + // Objeto para el acceso al sistema de archivos NGN_FileSystem* file_system; diff --git a/Library/windows/include/ngn_log.h b/Library/windows/include/ngn_log.h index a0b71a8..6f55f64 100644 --- a/Library/windows/include/ngn_log.h +++ b/Library/windows/include/ngn_log.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones de mensages de depuracion Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -61,11 +61,13 @@ class NGN_Log { public: - // Constructor - NGN_Log(); + // Devuelve la instancia + static NGN_Log* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); - // Destructor - ~NGN_Log(); + // Procesos iniciales despues de crear la instancia + void BootUp(); // Abre el archivo de registro bool OpenLogFile(std::string log_file, bool overwrite = true); @@ -79,10 +81,19 @@ class NGN_Log { private: + // Constructor + NGN_Log(); + + // Destructor + ~NGN_Log(); + + // Puntero de memoria a la instancia + static NGN_Log* instance; + std::string _log_file; // Nombre del archivo de registro bool _log_enabled; // Archivo de registro habilitado - std::fstream file; // Stream de gestion del archivo de registro + std::fstream file; // Stream de gestion del archivo de registro // Genera la marca de tiempo actual std::string GetTimeStamp(); diff --git a/Library/windows/include/ngn_math.h b/Library/windows/include/ngn_math.h index 16fb92d..7301881 100644 --- a/Library/windows/include/ngn_math.h +++ b/Library/windows/include/ngn_math.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones matematicas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -82,6 +82,10 @@ class Vector2 { Vector2 operator/(float); bool operator==(Vector2); bool operator!=(Vector2); + void operator+=(Vector2); + void operator-=(Vector2); + void operator*=(float); + void operator/=(float); private: @@ -109,6 +113,10 @@ class Vector2I32 { Vector2I32 operator/(int32_t); bool operator==(Vector2I32); bool operator!=(Vector2I32); + void operator+=(Vector2I32); + void operator-=(Vector2I32); + void operator*=(int32_t); + void operator/=(int32_t); private: @@ -136,6 +144,10 @@ class Vector2I64 { Vector2I64 operator/(int64_t); bool operator==(Vector2I64); bool operator!=(Vector2I64); + void operator+=(Vector2I64); + void operator-=(Vector2I64); + void operator*=(int64_t); + void operator/=(int64_t); private: @@ -150,11 +162,13 @@ class NGN_Math { // Segmento publico public: - // Contructor de la clase - NGN_Math(); + // Devuelve la instancia + static NGN_Math* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); - // Destructor de la clase - ~NGN_Math(); + // Procesos iniciales despues de crear la instancia + void BootUp(); // Distancia entre 2 puntos (4 parametros, punto flotante, 1a sobrecarga) @@ -186,6 +200,14 @@ class NGN_Math { // Segmento privado private: + // Contructor de la clase + NGN_Math(); + + // Destructor de la clase + ~NGN_Math(); + + // Puntero de memoria a la instancia + static NGN_Math* instance; }; diff --git a/Library/windows/include/ngn_music_clip.h b/Library/windows/include/ngn_music_clip.h index 5edb8aa..85ccac8 100644 --- a/Library/windows/include/ngn_music_clip.h +++ b/Library/windows/include/ngn_music_clip.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Clips de musica Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/windows/include/ngn_render.h b/Library/windows/include/ngn_render.h index bdab099..51b69ce 100644 --- a/Library/windows/include/ngn_render.h +++ b/Library/windows/include/ngn_render.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Gestion del Renderer de SDL Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -66,11 +66,14 @@ class NGN_Render { // Public public: - // Constructor - NGN_Render(); + // Devuelve la instancia + static NGN_Render* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Render(); // Dibuja una textura en la surface del renderer void Texture(NGN_Texture* texture, float position_x = (float)NGN_DEFAULT_VALUE, float position_y = (float)NGN_DEFAULT_VALUE); @@ -105,6 +108,16 @@ class NGN_Render { // Private private: + // Constructor + NGN_Render(); + + // Destructor + ~NGN_Render(); + + // Puntero de memoria a la instancia + static NGN_Render* instance; + + bool render2texture; // Flag de render to texture NGN_Texture* rend2text; // Textura de destino del render diff --git a/Library/windows/include/ngn_sound.h b/Library/windows/include/ngn_sound.h index 9ac1db4..4d86dcb 100644 --- a/Library/windows/include/ngn_sound.h +++ b/Library/windows/include/ngn_sound.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Sonido Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -86,11 +86,14 @@ class NGN_Sound { // Public public: - // Constructor de la clase - NGN_Sound(); + // Devuelve la instancia + static NGN_Sound* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor de la clase - ~NGN_Sound(); /*** Efectos de sonido (SFX) [64 simultaneos maximo por defecto] ***/ @@ -242,6 +245,16 @@ class NGN_Sound { // Private private: + // Constructor de la clase + NGN_Sound(); + + // Destructor de la clase + ~NGN_Sound(); + + // Puntero de memoria a la instancia + static NGN_Sound* instance; + + // Lista de sonidos disponibles std::vector sfx_cue; diff --git a/Library/windows/include/ngn_sprite.h b/Library/windows/include/ngn_sprite.h index 2a0975f..895b85a 100644 --- a/Library/windows/include/ngn_sprite.h +++ b/Library/windows/include/ngn_sprite.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Sprites Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/windows/include/ngn_system.h b/Library/windows/include/ngn_system.h index 24b4062..698a487 100644 --- a/Library/windows/include/ngn_system.h +++ b/Library/windows/include/ngn_system.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Funciones de sistema Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -61,11 +61,13 @@ class NGN_System { // Public public: - // Contructor - NGN_System(); + // Devuelve la instancia + static NGN_System* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); - // Destructor - ~NGN_System(); + // Procesos iniciales despues de crear la instancia + void BootUp(); // Inicializa la libreria bool Init(); @@ -93,6 +95,15 @@ class NGN_System { // Private private: + // Contructor + NGN_System(); + + // Destructor + ~NGN_System(); + + // Puntero de memoria a la instancia + static NGN_System* instance; + // Resetea los flags y variables antes de leer el evento void ResetFlags(); diff --git a/Library/windows/include/ngn_text_layer.h b/Library/windows/include/ngn_text_layer.h index ab8c608..3b37761 100644 --- a/Library/windows/include/ngn_text_layer.h +++ b/Library/windows/include/ngn_text_layer.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Text Layer - Capa de texto con soporte TTF Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/windows/include/ngn_texture.h b/Library/windows/include/ngn_texture.h index b92e4b8..3f3ce88 100644 --- a/Library/windows/include/ngn_texture.h +++ b/Library/windows/include/ngn_texture.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Fondos con texturas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/windows/include/ngn_tiledbg.h b/Library/windows/include/ngn_tiledbg.h index 77030ab..3f14fc0 100644 --- a/Library/windows/include/ngn_tiledbg.h +++ b/Library/windows/include/ngn_tiledbg.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** Fondos Tileados Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Library/windows/include/ngn_toolbox.h b/Library/windows/include/ngn_toolbox.h index a045473..f5d5260 100644 --- a/Library/windows/include/ngn_toolbox.h +++ b/Library/windows/include/ngn_toolbox.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.10.0-beta *** + *** Version 1.11.0-stable *** TOOL BOX - Caja de herramientas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -73,11 +73,13 @@ class NGN_ToolBox { // Segmento publico public: - // Constructor de la clase - NGN_ToolBox(); + // Devuelve la instancia + static NGN_ToolBox* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); - // Destructor de la clase - ~NGN_ToolBox(); + // Procesos iniciales despues de crear la instancia + void BootUp(); /*** Cadenas de texto ***/ @@ -98,6 +100,15 @@ class NGN_ToolBox { // Segmento privado private: + // Constructor de la clase + NGN_ToolBox(); + + // Destructor de la clase + ~NGN_ToolBox(); + + // Puntero de memoria a la instancia + static NGN_ToolBox* instance; + // Constantes de conversion a UTF-8 (2 bytes) // El primer byte en la codificacion en 2 bytes empieza con 110 y contiene 5 bits de datos const uint8_t utf8_b0_head = 0xC0; // 1100 0000 diff --git a/Library/windows/lib/libngn.a b/Library/windows/lib/libngn.a index 5349b28..acd6369 100644 Binary files a/Library/windows/lib/libngn.a and b/Library/windows/lib/libngn.a differ diff --git a/Library/windows/lib/libngn_d.a b/Library/windows/lib/libngn_d.a index b2ba40e..9a0077b 100644 Binary files a/Library/windows/lib/libngn_d.a and b/Library/windows/lib/libngn_d.a differ diff --git a/Source/config_flags.h b/Source/config_flags.h index 5cede61..238dc3e 100644 --- a/Source/config_flags.h +++ b/Source/config_flags.h @@ -1,12 +1,12 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** FLAGS de configuracion de la libreria La libreria debe compilarse para que estos FLAGS sean efectivos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -22,8 +22,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ diff --git a/Source/ngn.cpp b/Source/ngn.cpp index 66d702c..2ce39fc 100644 --- a/Source/ngn.cpp +++ b/Source/ngn.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Archivo principal de la libreria Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -18,8 +18,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ @@ -78,7 +78,7 @@ NGN* ngn; // Clase principal /*** Contructor ***/ NGN::NGN() { - // Crea los objetos de la libreria + // Prepara los singletons de los objetos de la libreria log = NULL; // Mensages de depuracion system = NULL; // Funciones del sistema math = NULL; // Funciones matematicas @@ -86,13 +86,15 @@ NGN::NGN() { input = NULL; // Metodos de entrada graphics = NULL; // Gestion del Renderer de SDL render = NULL; // Dibuja los diferentes elementos graficos - camera = NULL; // Crea la camara virtual 2D load = NULL; // Carga de archivos collisions = NULL; // Sistema de colisiones sound = NULL; // Efectos de sonido image = NULL; // Manipulacion de imagenes en RAW disk = NULL; // Gestion de archivos en el disco + // Prepara los objetos de la libreria + camera = NULL; // Crea la camara virtual 2D + } @@ -100,20 +102,22 @@ NGN::NGN() { /*** Destructor ***/ NGN::~NGN() { - // Elimina todos los objetos creados - delete disk; disk = NULL; - delete image; image = NULL; - delete sound; sound = NULL; - delete collisions; collisions = NULL; - delete load; load = NULL; + // Elimina los objetos delete camera; camera = NULL; - delete render; render = NULL; - delete graphics; graphics = NULL; - delete input; input = NULL; - delete toolbox; toolbox = NULL; - delete math; math = NULL; - delete system; system = NULL; - delete log; log = NULL; + + // Elimina todas las instancias a los singletons + NGN_Disk::RemoveInstance(); disk = NULL; + NGN_Image::RemoveInstance(); image = NULL; + NGN_Sound::RemoveInstance(); sound = NULL; + NGN_Collisions::RemoveInstance(); collisions = NULL; + NGN_Load::RemoveInstance(); load = NULL; + NGN_Render::RemoveInstance(); render = NULL; + NGN_Graphics::RemoveInstance(); graphics = NULL; + NGN_Input::RemoveInstance(); input = NULL; + NGN_ToolBox::RemoveInstance(); toolbox = NULL; + NGN_Math::RemoveInstance(); math = NULL; + NGN_System::RemoveInstance(); system = NULL; + NGN_Log::RemoveInstance(); log = NULL; // Cierra los subsistemas de SDL SDL_Quit(); // Cierra la libreria SDL correctamente @@ -125,31 +129,36 @@ NGN::~NGN() { /*** Inicializa la libreria ***/ bool NGN::Init() { - // Crea los objetos de la libreria - log = new NGN_Log(); // Mensages de depuracion - if (!log) return false; - system = new NGN_System(); // Funciones del sistema - if (!system) return false; - toolbox = new NGN_ToolBox(); // Caja de herramientas - if (!toolbox) return false; - input = new NGN_Input(); // Metodos de entrada - if (!input) return false; - graphics = new NGN_Graphics(); // Gestion del Renderer de SDL - if (!graphics) return false; - render = new NGN_Render(); // Dibuja los diferentes elementos graficos - if (!render) return false; - camera = new NGN_Camera(); // Crea la camara virtual 2D - if (!camera) return false; - load = new NGN_Load(); // Carga de archivos - if (!load) return false; - collisions = new NGN_Collisions(); // Sistema de colisiones - if (!collisions) return false; - sound = new NGN_Sound(); // Efectos de sonido - if (!sound) return false; - image = new NGN_Image(); // Manipulacion de imagenes en RAW - if (!image) return false; - disk = new NGN_Disk(); // Gestion de archivos en el disco - if (!disk) return false; + // Crea las instancias a los singletons de los modulos de la libreria + log = NGN_Log::GetInstance(); // Mensages de depuracion + system = NGN_System::GetInstance(); // Funciones del sistema + math = NGN_Math::GetInstance(); // Funciones matematicas + toolbox = NGN_ToolBox::GetInstance(); // Caja de herramientas + input = NGN_Input::GetInstance(); // Metodos de entrada + graphics = NGN_Graphics::GetInstance(); // Gestion del Renderer de SDL + render = NGN_Render::GetInstance(); // Dibuja los diferentes elementos graficos + load = NGN_Load::GetInstance(); // Carga de archivos + collisions = NGN_Collisions::GetInstance(); // Sistema de colisiones + sound = NGN_Sound::GetInstance(); // Efectos de sonido + image = NGN_Image::GetInstance(); // Manipulacion de imagenes en RAW + disk = NGN_Disk::GetInstance(); // Gestion de archivos en el disco + + // Inicia los singletons de la libreria + log->BootUp(); // Mensages de depuracion + system->BootUp(); // Funciones del sistema + math->BootUp(); // Funciones matematicas + toolbox->BootUp(); // Caja de herramientas + input->BootUp(); // Metodos de entrada + graphics->BootUp(); // Gestion del Renderer de SDL + render->BootUp(); // Dibuja los diferentes elementos graficos + load->BootUp(); // Carga de archivos + collisions->BootUp(); // Sistema de colisiones + sound->BootUp(); // Efectos de sonido + image->BootUp(); // Manipulacion de imagenes en RAW + disk->BootUp(); // Gestion de archivos en el disco + + // Crea los objetos adicionales de a libreria + camera = new NGN_Camera(); // Crea la camara virtual 2D // Inicializa la libreria SDL if (!system->Init()) return false; diff --git a/Source/ngn.h b/Source/ngn.h index 54cb581..368bb1a 100644 --- a/Source/ngn.h +++ b/Source/ngn.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Archivo principal de la libreria Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -21,8 +21,8 @@ Requiere SFML (2.5.1) - 64-bits http://www.sfml-dev.org/ - Requiere LodePNG (20200306) - (c) 2005 - 2020 by Lode Vandevenne + Requiere LodePNG (20220717) + (c) 2005 - 2022 by Lode Vandevenne http://lodev.org/lodepng/ @@ -115,7 +115,7 @@ class NGN { // Destructor ~NGN(); - // Punteros a las clases + // Punteros a los singletons de las clases NGN_Log* log; // Mensages de depuracion NGN_System* system; // Funciones del sistema NGN_Math* math; // Funciones matematicas @@ -123,13 +123,15 @@ class NGN { NGN_Input* input; // Metodos de entrada NGN_Graphics* graphics; // Gestion del Renderer de SDL NGN_Render* render; // Dibuja los diferentes elementos graficos - NGN_Camera* camera; // Camara virtual 2D integrada NGN_Load* load; // Funciones para la carga de archivos NGN_Collisions* collisions; // Funciones del sistema de colisiones NGN_Sound* sound; // Gestion de los efectos de sonido NGN_Image* image; // Manipulacion de imagenes en RAW NGN_Disk* disk; // Gestion de archivos en el disco + // Punteros a los objetos + NGN_Camera* camera; // Camara virtual 2D integrada + // Iniciliaza la libreria bool Init(); diff --git a/Source/ngn_audio_clip.cpp b/Source/ngn_audio_clip.cpp index 2b058ee..8102e6c 100644 --- a/Source/ngn_audio_clip.cpp +++ b/Source/ngn_audio_clip.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Clips de audio Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_audio_clip.h b/Source/ngn_audio_clip.h index 0300000..a109c0a 100644 --- a/Source/ngn_audio_clip.h +++ b/Source/ngn_audio_clip.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Clips de audio Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_camera.cpp b/Source/ngn_camera.cpp index 2f928e0..8299499 100644 --- a/Source/ngn_camera.cpp +++ b/Source/ngn_camera.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Camara virtual en 2D Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_camera.h b/Source/ngn_camera.h index 8bc9560..39de1df 100644 --- a/Source/ngn_camera.h +++ b/Source/ngn_camera.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Camara virtual en 2D Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_canvas.cpp b/Source/ngn_canvas.cpp index e64d606..269331d 100644 --- a/Source/ngn_canvas.cpp +++ b/Source/ngn_canvas.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Canvas - Capa de dibujo Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_canvas.h b/Source/ngn_canvas.h index fe8c1d4..783d1b5 100644 --- a/Source/ngn_canvas.h +++ b/Source/ngn_canvas.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Canvas - Capa de dibujo Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_collisions.cpp b/Source/ngn_collisions.cpp index 67f2cf1..5dbebfb 100644 --- a/Source/ngn_collisions.cpp +++ b/Source/ngn_collisions.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Sistema de colisiones Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -58,6 +58,37 @@ +/*** Puntero de la instancia a NULL ***/ +NGN_Collisions* NGN_Collisions::instance = NULL; + + + +/*** Metodo para crear/obtener la instancia ***/ +NGN_Collisions* NGN_Collisions::GetInstance() { + + // Verifica si la instancia ya se ha creado + // Si no es asi, creala + if (!instance) instance = new NGN_Collisions(); + + // Devuelve la instancia + return instance; + +} + + + +/*** Metodo para eliminar la instancia ***/ +void NGN_Collisions::RemoveInstance() { + + // Si la instancia aun existe, eliminala + if (instance) { + delete instance; + instance = NULL; + } + +} + + /*** Contructor ***/ NGN_Collisions::NGN_Collisions() { @@ -71,6 +102,12 @@ NGN_Collisions::~NGN_Collisions() { +/*** Procesos iniciales despues de crear la instancia ***/ +void NGN_Collisions::BootUp() { +} + + + /*** Consulta el color de un pixel del mapa de colisiones ***/ uint32_t NGN_Collisions::GetPixel(NGN_CollisionMapData* cmap, int32_t position_x, int32_t position_y) { @@ -142,7 +179,7 @@ bool NGN_Collisions::HitBox(NGN_Sprite* spr1, NGN_Sprite* spr2) { w2 = spr2->box.width; h2 = spr2->box.height; // Colision entre las cajas principales - r |= CheckColliders(x1, y1, w1, h1, x2, y2, w2, h2); + r |= CheckBoxColliders(x1, y1, w1, h1, x2, y2, w2, h2); } // Fase 2 - Si la caja principal del Sprite 1 esta habilitada, verifica la colision con los colliders del Sprite 2, si estos existen @@ -162,7 +199,7 @@ bool NGN_Collisions::HitBox(NGN_Sprite* spr1, NGN_Sprite* spr2) { w2 = spr2->colliders[i].width; h2 = spr2->colliders[i].height; // Verifica la colision - r |= CheckColliders(x1, y1, w1, h1, x2, y2, w2, h2); + r |= CheckBoxColliders(x1, y1, w1, h1, x2, y2, w2, h2); } } } @@ -184,7 +221,7 @@ bool NGN_Collisions::HitBox(NGN_Sprite* spr1, NGN_Sprite* spr2) { w1 = spr1->colliders[i].width; h1 = spr1->colliders[i].height; // Verifica la colision - r |= CheckColliders(x1, y1, w1, h1, x2, y2, w2, h2); + r |= CheckBoxColliders(x1, y1, w1, h1, x2, y2, w2, h2); } } } @@ -210,7 +247,7 @@ bool NGN_Collisions::HitBox(NGN_Sprite* spr1, NGN_Sprite* spr2) { w2 = spr2->colliders[i].width; h2 = spr2->colliders[i].height; // Verifica la colision - r |= CheckColliders(x1, y1, w1, h1, x2, y2, w2, h2); + r |= CheckBoxColliders(x1, y1, w1, h1, x2, y2, w2, h2); } } } @@ -225,7 +262,7 @@ bool NGN_Collisions::HitBox(NGN_Sprite* spr1, NGN_Sprite* spr2) { /*** Algoritmo de colision por cajas ***/ -bool NGN_Collisions::CheckColliders(float x1, float y1, float w1, float h1, float x2, float y2, float w2, float h2) { +bool NGN_Collisions::CheckBoxColliders(float x1, float y1, float w1, float h1, float x2, float y2, float w2, float h2) { // Calculos previos (distancia entre sprites) Vector2 distance; diff --git a/Source/ngn_collisions.h b/Source/ngn_collisions.h index 802de91..c1bcb6c 100644 --- a/Source/ngn_collisions.h +++ b/Source/ngn_collisions.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Sistema de colisiones Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -60,11 +60,14 @@ class NGN_Collisions { // Public public: - // Constructor - NGN_Collisions(); + // Devuelve la instancia + static NGN_Collisions* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Collisions(); // Consulta el color de un pixel del mapa de colisiones uint32_t GetPixel(NGN_CollisionMapData* cmap, int32_t position_x, int32_t position_y); @@ -86,8 +89,18 @@ class NGN_Collisions { // Private private: + // Constructor + NGN_Collisions(); + + // Destructor + ~NGN_Collisions(); + + // Puntero de memoria a la instancia + static NGN_Collisions* instance; + + // Algoritmo de colision por cajas - bool CheckColliders(float x1, float y1, float w1, float h1, float x2, float y2, float w2, float h2); + bool CheckBoxColliders(float x1, float y1, float w1, float h1, float x2, float y2, float w2, float h2); // Deteccion de colisiones entre sprites por "pixel perfect" SDL_Surface* RenderSpriteInSurface( diff --git a/Source/ngn_defines.cpp b/Source/ngn_defines.cpp index 8e3a2ff..8dbdfea 100644 --- a/Source/ngn_defines.cpp +++ b/Source/ngn_defines.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Definiciones de prototipos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_defines.h b/Source/ngn_defines.h index 7fe11ba..f643490 100644 --- a/Source/ngn_defines.h +++ b/Source/ngn_defines.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Definiciones de prototipos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -61,7 +61,7 @@ static const int32_t NGN_VERSION_MAJOR = 1; // Version mayor static const int32_t NGN_VERSION_MINOR = 11; // Version menor static const int32_t NGN_VERSION_PATCH = 0; // Version parche -static const std::string NGN_VERSION_METADATA = "wip-0x02"; // Version metadatos +static const std::string NGN_VERSION_METADATA = "stable"; // Version metadatos /*** Definiciones generales ***/ static const int32_t NGN_DEFAULT_VALUE = 0x7FFFFFFF; // Valor de "defecto" diff --git a/Source/ngn_disk.cpp b/Source/ngn_disk.cpp index 72dab1c..d3140e4 100644 --- a/Source/ngn_disk.cpp +++ b/Source/ngn_disk.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones de acceso al disco Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -60,6 +60,38 @@ +/*** Puntero de la instancia a NULL ***/ +NGN_Disk* NGN_Disk::instance = NULL; + + + +/*** Metodo para crear/obtener la instancia ***/ +NGN_Disk* NGN_Disk::GetInstance() { + + // Verifica si la instancia ya se ha creado + // Si no es asi, creala + if (!instance) instance = new NGN_Disk(); + + // Devuelve la instancia + return instance; + +} + + + +/*** Metodo para eliminar la instancia ***/ +void NGN_Disk::RemoveInstance() { + + // Si la instancia aun existe, eliminala + if (instance) { + delete instance; + instance = NULL; + } + +} + + + /*** Constructor ***/ NGN_Disk::NGN_Disk() { @@ -78,6 +110,12 @@ NGN_Disk::~NGN_Disk() { +/*** Procesos iniciales despues de crear la instancia ***/ +void NGN_Disk::BootUp() { +} + + + /*** Lee un archivo en formato binario desde el disco y almacenalo en un buffer en RAM ***/ int32_t NGN_Disk::ReadBinaryFile(std::string filepath, std::vector &buffer) { diff --git a/Source/ngn_disk.h b/Source/ngn_disk.h index c88df82..2d7d07c 100644 --- a/Source/ngn_disk.h +++ b/Source/ngn_disk.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones de acceso al disco Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -66,11 +66,14 @@ class NGN_Disk { public: - // Constructor - NGN_Disk(); + // Devuelve la instancia + static NGN_Disk* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Disk(); // Lee un archivo en formato binario desde el disco y almacenalo en un buffer en RAM int32_t ReadBinaryFile(std::string filepath, std::vector &buffer); @@ -91,6 +94,16 @@ class NGN_Disk { private: + // Constructor + NGN_Disk(); + + // Destructor + ~NGN_Disk(); + + // Puntero de memoria a la instancia + static NGN_Disk* instance; + + // Genera una estructura de directorios int32_t MakePath(std::string path); diff --git a/Source/ngn_filesystem.cpp b/Source/ngn_filesystem.cpp index 4095c99..fea0c12 100644 --- a/Source/ngn_filesystem.cpp +++ b/Source/ngn_filesystem.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones del sistema de archivos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_filesystem.h b/Source/ngn_filesystem.h index 737a1d3..696c233 100644 --- a/Source/ngn_filesystem.h +++ b/Source/ngn_filesystem.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones del sistema de archivos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_graphics.cpp b/Source/ngn_graphics.cpp index fb5b8cc..b6fea58 100644 --- a/Source/ngn_graphics.cpp +++ b/Source/ngn_graphics.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Gestion del Renderer de SDL Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -64,6 +64,38 @@ +/*** Puntero de la instancia a NULL ***/ +NGN_Graphics* NGN_Graphics::instance = NULL; + + + +/*** Metodo para crear/obtener la instancia ***/ +NGN_Graphics* NGN_Graphics::GetInstance() { + + // Verifica si la instancia ya se ha creado + // Si no es asi, creala + if (!instance) instance = new NGN_Graphics(); + + // Devuelve la instancia + return instance; + +} + + + +/*** Metodo para eliminar la instancia ***/ +void NGN_Graphics::RemoveInstance() { + + // Si la instancia aun existe, eliminala + if (instance) { + delete instance; + instance = NULL; + } + +} + + + /*** Contructor ***/ NGN_Graphics::NGN_Graphics() { @@ -134,6 +166,12 @@ NGN_Graphics::~NGN_Graphics() { +/*** Procesos iniciales despues de crear la instancia ***/ +void NGN_Graphics::BootUp() { +} + + + /*** Inicializa el engine grafico ***/ bool NGN_Graphics::Init( std::string window_name, // Nombre en la ventana diff --git a/Source/ngn_graphics.h b/Source/ngn_graphics.h index 83ffe5d..95d9849 100644 --- a/Source/ngn_graphics.h +++ b/Source/ngn_graphics.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Gestion del Renderer de SDL Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -68,11 +68,14 @@ class NGN_Graphics { // Public public: - // Contructor - NGN_Graphics(); + // Devuelve la instancia + static NGN_Graphics* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Graphics(); // Inicializa la ventana principal y la superficie de renderizado bool Init( @@ -185,6 +188,16 @@ class NGN_Graphics { // Private private: + // Contructor + NGN_Graphics(); + + // Destructor + ~NGN_Graphics(); + + // Puntero de memoria a la instancia + static NGN_Graphics* instance; + + // Resolucion de pantalla completa int32_t desktop_w; int32_t desktop_h; diff --git a/Source/ngn_image.cpp b/Source/ngn_image.cpp index e781946..3f8e72c 100644 --- a/Source/ngn_image.cpp +++ b/Source/ngn_image.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones para la manipulacion de imagenes en RAW Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -54,6 +54,38 @@ +/*** Puntero de la instancia a NULL ***/ +NGN_Image* NGN_Image::instance = NULL; + + + +/*** Metodo para crear/obtener la instancia ***/ +NGN_Image* NGN_Image::GetInstance() { + + // Verifica si la instancia ya se ha creado + // Si no es asi, creala + if (!instance) instance = new NGN_Image(); + + // Devuelve la instancia + return instance; + +} + + + +/*** Metodo para eliminar la instancia ***/ +void NGN_Image::RemoveInstance() { + + // Si la instancia aun existe, eliminala + if (instance) { + delete instance; + instance = NULL; + } + +} + + + /*** Constructor ***/ NGN_Image::NGN_Image() { @@ -67,6 +99,11 @@ NGN_Image::~NGN_Image() { } +/*** Procesos iniciales despues de crear la instancia ***/ +void NGN_Image::BootUp() { +} + + /*** Convierte una imagen RAW a datos de textura ***/ NGN_TextureData* NGN_Image::ConvertRawToTextureData(NGN_RawImage* raw) { diff --git a/Source/ngn_image.h b/Source/ngn_image.h index 759235d..cd2dcc0 100644 --- a/Source/ngn_image.h +++ b/Source/ngn_image.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones para la manipulacion de imagenes en RAW Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -65,11 +65,14 @@ class NGN_Image { public: - // Constructor - NGN_Image(); + // Devuelve la instancia + static NGN_Image* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Image(); // Convierte una imagen RAW a datos de textura NGN_TextureData* ConvertRawToTextureData(NGN_RawImage* raw); @@ -98,6 +101,15 @@ class NGN_Image { private: + // Constructor + NGN_Image(); + + // Destructor + ~NGN_Image(); + + // Puntero de memoria a la instancia + static NGN_Image* instance; + }; diff --git a/Source/ngn_input.cpp b/Source/ngn_input.cpp index a083e01..a08a69b 100644 --- a/Source/ngn_input.cpp +++ b/Source/ngn_input.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Meotodos de entrada Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -122,6 +122,39 @@ void NGN_Key::Reset() { /*** Metodos de entrada (Clase NGN_Input) ***/ + +/*** Puntero de la instancia a NULL ***/ +NGN_Input* NGN_Input::instance = NULL; + + + +/*** Metodo para crear/obtener la instancia ***/ +NGN_Input* NGN_Input::GetInstance() { + + // Verifica si la instancia ya se ha creado + // Si no es asi, creala + if (!instance) instance = new NGN_Input(); + + // Devuelve la instancia + return instance; + +} + + + +/*** Metodo para eliminar la instancia ***/ +void NGN_Input::RemoveInstance() { + + // Si la instancia aun existe, eliminala + if (instance) { + delete instance; + instance = NULL; + } + +} + + + /*** Constructor ***/ NGN_Input::NGN_Input() { @@ -151,6 +184,12 @@ NGN_Input::~NGN_Input() { +/*** Procesos iniciales despues de crear la instancia ***/ +void NGN_Input::BootUp() { +} + + + /*** Actualiza el estado de los dispositivos de entrada ***/ void NGN_Input::Update() { diff --git a/Source/ngn_input.h b/Source/ngn_input.h index f84fdc9..4e646c3 100644 --- a/Source/ngn_input.h +++ b/Source/ngn_input.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Meotodos de entrada Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -131,16 +131,27 @@ class NGN_Input { public: + // Devuelve la instancia + static NGN_Input* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); + + + private: + // Contructor NGN_Input(); // Destructor ~NGN_Input(); + // Puntero de memoria a la instancia + static NGN_Input* instance; - private: - // Define las propiedades del game controller struct controller_data { bool available; // El controlador esta disponible? diff --git a/Source/ngn_load.cpp b/Source/ngn_load.cpp index 506fed6..dfd2599 100644 --- a/Source/ngn_load.cpp +++ b/Source/ngn_load.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones de carga de archivos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -67,6 +67,38 @@ +/*** Puntero de la instancia a NULL ***/ +NGN_Load* NGN_Load::instance = NULL; + + + +/*** Metodo para crear/obtener la instancia ***/ +NGN_Load* NGN_Load::GetInstance() { + + // Verifica si la instancia ya se ha creado + // Si no es asi, creala + if (!instance) instance = new NGN_Load(); + + // Devuelve la instancia + return instance; + +} + + + +/*** Metodo para eliminar la instancia ***/ +void NGN_Load::RemoveInstance() { + + // Si la instancia aun existe, eliminala + if (instance) { + delete instance; + instance = NULL; + } + +} + + + /*** Contructor ***/ NGN_Load::NGN_Load() { @@ -91,6 +123,12 @@ NGN_Load::~NGN_Load() { +/*** Procesos iniciales despues de crear la instancia ***/ +void NGN_Load::BootUp() { +} + + + /*** Carga una textura ***/ NGN_TextureData* NGN_Load::Texture(std::string filepath) { diff --git a/Source/ngn_load.h b/Source/ngn_load.h index 05d5381..919282c 100644 --- a/Source/ngn_load.h +++ b/Source/ngn_load.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones de carga de archivos Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -72,11 +72,14 @@ class NGN_Load { // Public public: - // Contructor - NGN_Load(); + // Devuelve la instancia + static NGN_Load* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Load(); // Carga de texturas NGN_TextureData* Texture(std::string filepath); @@ -138,6 +141,16 @@ class NGN_Load { // Private private: + // Contructor + NGN_Load(); + + // Destructor + ~NGN_Load(); + + // Puntero de memoria a la instancia + static NGN_Load* instance; + + // Objeto para el acceso al sistema de archivos NGN_FileSystem* file_system; diff --git a/Source/ngn_log.cpp b/Source/ngn_log.cpp index ba454e9..eead5e1 100644 --- a/Source/ngn_log.cpp +++ b/Source/ngn_log.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones de mensages de depuracion Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -55,6 +55,37 @@ #include "ngn.h" +/*** Puntero de la instancia a NULL ***/ +NGN_Log* NGN_Log::instance = NULL; + + + +/*** Metodo para crear/obtener la instancia ***/ +NGN_Log* NGN_Log::GetInstance() { + + // Verifica si la instancia ya se ha creado + // Si no es asi, creala + if (!instance) instance = new NGN_Log(); + + // Devuelve la instancia + return instance; + +} + + + +/*** Metodo para eliminar la instancia ***/ +void NGN_Log::RemoveInstance() { + + // Si la instancia aun existe, eliminala + if (instance) { + delete instance; + instance = NULL; + } + +} + + /*** Constructor ***/ NGN_Log::NGN_Log() { @@ -75,6 +106,12 @@ NGN_Log::~NGN_Log() { +/*** Procesos iniciales despues de crear la instancia ***/ +void NGN_Log::BootUp() { +} + + + /*** Abre el archivo de registro ***/ bool NGN_Log::OpenLogFile(std::string log_file, bool overwrite) { diff --git a/Source/ngn_log.h b/Source/ngn_log.h index 9ea0cea..6f55f64 100644 --- a/Source/ngn_log.h +++ b/Source/ngn_log.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones de mensages de depuracion Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -61,11 +61,13 @@ class NGN_Log { public: - // Constructor - NGN_Log(); + // Devuelve la instancia + static NGN_Log* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); - // Destructor - ~NGN_Log(); + // Procesos iniciales despues de crear la instancia + void BootUp(); // Abre el archivo de registro bool OpenLogFile(std::string log_file, bool overwrite = true); @@ -79,10 +81,19 @@ class NGN_Log { private: + // Constructor + NGN_Log(); + + // Destructor + ~NGN_Log(); + + // Puntero de memoria a la instancia + static NGN_Log* instance; + std::string _log_file; // Nombre del archivo de registro bool _log_enabled; // Archivo de registro habilitado - std::fstream file; // Stream de gestion del archivo de registro + std::fstream file; // Stream de gestion del archivo de registro // Genera la marca de tiempo actual std::string GetTimeStamp(); diff --git a/Source/ngn_math.cpp b/Source/ngn_math.cpp index f2074ff..58d7fd5 100644 --- a/Source/ngn_math.cpp +++ b/Source/ngn_math.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones matematicas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -147,6 +147,20 @@ void Vector2::operator-=(Vector2 p) { } +void Vector2::operator*=(float p) { + + x *= p; + y *= p; + +} + +void Vector2::operator/=(float p) { + + x /= p; + y /= p; + +} + /*** Clase Vector2I32 (int32_t) - Calcula la magnitud del vector ***/ @@ -219,6 +233,20 @@ void Vector2I32::operator-=(Vector2I32 p) { } +void Vector2I32::operator*=(int32_t p) { + + x *= p; + y *= p; + +} + +void Vector2I32::operator/=(int32_t p) { + + x /= p; + y /= p; + +} + /*** Clase Vector2I64 (int64_t) - Calcula la magnitud del vector ***/ @@ -291,6 +319,22 @@ void Vector2I64::operator-=(Vector2I64 p) { } +void Vector2I64::operator*=(int64_t p) { + + x *= p; + y *= p; + +} + +void Vector2I64::operator/=(int64_t p) { + + x /= p; + y /= p; + +} + + + /****************************************************************************** @@ -299,6 +343,38 @@ void Vector2I64::operator-=(Vector2I64 p) { ******************************************************************************/ +/*** Puntero de la instancia a NULL ***/ +NGN_Math* NGN_Math::instance = NULL; + + + +/*** Metodo para crear/obtener la instancia ***/ +NGN_Math* NGN_Math::GetInstance() { + + // Verifica si la instancia ya se ha creado + // Si no es asi, creala + if (!instance) instance = new NGN_Math(); + + // Devuelve la instancia + return instance; + +} + + + +/*** Metodo para eliminar la instancia ***/ +void NGN_Math::RemoveInstance() { + + // Si la instancia aun existe, eliminala + if (instance) { + delete instance; + instance = NULL; + } + +} + + + /*** Constructor ***/ NGN_Math::NGN_Math() { @@ -313,6 +389,12 @@ NGN_Math::~NGN_Math() { +/*** Procesos iniciales despues de crear la instancia ***/ +void NGN_Math::BootUp() { +} + + + /*** Distancia entre 2 puntos (4 parametros, punto flotante, 1ra sobrecarga) ***/ float NGN_Math::GetDistance(float x1, float y1, float x2, float y2) { diff --git a/Source/ngn_math.h b/Source/ngn_math.h index 42a6416..7301881 100644 --- a/Source/ngn_math.h +++ b/Source/ngn_math.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones matematicas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -84,6 +84,8 @@ class Vector2 { bool operator!=(Vector2); void operator+=(Vector2); void operator-=(Vector2); + void operator*=(float); + void operator/=(float); private: @@ -113,6 +115,8 @@ class Vector2I32 { bool operator!=(Vector2I32); void operator+=(Vector2I32); void operator-=(Vector2I32); + void operator*=(int32_t); + void operator/=(int32_t); private: @@ -142,6 +146,8 @@ class Vector2I64 { bool operator!=(Vector2I64); void operator+=(Vector2I64); void operator-=(Vector2I64); + void operator*=(int64_t); + void operator/=(int64_t); private: @@ -156,11 +162,13 @@ class NGN_Math { // Segmento publico public: - // Contructor de la clase - NGN_Math(); + // Devuelve la instancia + static NGN_Math* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); - // Destructor de la clase - ~NGN_Math(); + // Procesos iniciales despues de crear la instancia + void BootUp(); // Distancia entre 2 puntos (4 parametros, punto flotante, 1a sobrecarga) @@ -192,6 +200,14 @@ class NGN_Math { // Segmento privado private: + // Contructor de la clase + NGN_Math(); + + // Destructor de la clase + ~NGN_Math(); + + // Puntero de memoria a la instancia + static NGN_Math* instance; }; diff --git a/Source/ngn_music_clip.cpp b/Source/ngn_music_clip.cpp index 8e76924..781d5e7 100644 --- a/Source/ngn_music_clip.cpp +++ b/Source/ngn_music_clip.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Clips de musica Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_music_clip.h b/Source/ngn_music_clip.h index 9deb134..85ccac8 100644 --- a/Source/ngn_music_clip.h +++ b/Source/ngn_music_clip.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Clips de musica Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_render.cpp b/Source/ngn_render.cpp index 791a001..d279281 100644 --- a/Source/ngn_render.cpp +++ b/Source/ngn_render.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Gestion del Renderer de SDL Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -58,6 +58,38 @@ +/*** Puntero de la instancia a NULL ***/ +NGN_Render* NGN_Render::instance = NULL; + + + +/*** Metodo para crear/obtener la instancia ***/ +NGN_Render* NGN_Render::GetInstance() { + + // Verifica si la instancia ya se ha creado + // Si no es asi, creala + if (!instance) instance = new NGN_Render(); + + // Devuelve la instancia + return instance; + +} + + + +/*** Metodo para eliminar la instancia ***/ +void NGN_Render::RemoveInstance() { + + // Si la instancia aun existe, eliminala + if (instance) { + delete instance; + instance = NULL; + } + +} + + + /*** Contructor ***/ NGN_Render::NGN_Render() { @@ -87,6 +119,12 @@ NGN_Render::~NGN_Render() { +/*** Procesos iniciales despues de crear la instancia ***/ +void NGN_Render::BootUp() { +} + + + void NGN_Render::Texture(NGN_Texture* texture, float position_x, float position_y) { // Si no debe dibujarse... diff --git a/Source/ngn_render.h b/Source/ngn_render.h index d926be6..51b69ce 100644 --- a/Source/ngn_render.h +++ b/Source/ngn_render.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Gestion del Renderer de SDL Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -66,11 +66,14 @@ class NGN_Render { // Public public: - // Constructor - NGN_Render(); + // Devuelve la instancia + static NGN_Render* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor - ~NGN_Render(); // Dibuja una textura en la surface del renderer void Texture(NGN_Texture* texture, float position_x = (float)NGN_DEFAULT_VALUE, float position_y = (float)NGN_DEFAULT_VALUE); @@ -105,6 +108,16 @@ class NGN_Render { // Private private: + // Constructor + NGN_Render(); + + // Destructor + ~NGN_Render(); + + // Puntero de memoria a la instancia + static NGN_Render* instance; + + bool render2texture; // Flag de render to texture NGN_Texture* rend2text; // Textura de destino del render diff --git a/Source/ngn_sound.cpp b/Source/ngn_sound.cpp index 5f28a64..bc91fda 100644 --- a/Source/ngn_sound.cpp +++ b/Source/ngn_sound.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Sonido Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -58,6 +58,38 @@ +/*** Puntero de la instancia a NULL ***/ +NGN_Sound* NGN_Sound::instance = NULL; + + + +/*** Metodo para crear/obtener la instancia ***/ +NGN_Sound* NGN_Sound::GetInstance() { + + // Verifica si la instancia ya se ha creado + // Si no es asi, creala + if (!instance) instance = new NGN_Sound(); + + // Devuelve la instancia + return instance; + +} + + + +/*** Metodo para eliminar la instancia ***/ +void NGN_Sound::RemoveInstance() { + + // Si la instancia aun existe, eliminala + if (instance) { + delete instance; + instance = NULL; + } + +} + + + /*** Constructor de la clase NGN_Sound ***/ NGN_Sound::NGN_Sound() { @@ -87,6 +119,12 @@ NGN_Sound::~NGN_Sound() { +/*** Procesos iniciales despues de crear la instancia ***/ +void NGN_Sound::BootUp() { +} + + + /*** Reproduce un sonido ***/ NGN_AudioClip* NGN_Sound::PlaySfx( NGN_AudioClipData* sound, // Clip de audio diff --git a/Source/ngn_sound.h b/Source/ngn_sound.h index 968cf28..4d86dcb 100644 --- a/Source/ngn_sound.h +++ b/Source/ngn_sound.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Sonido Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -86,11 +86,14 @@ class NGN_Sound { // Public public: - // Constructor de la clase - NGN_Sound(); + // Devuelve la instancia + static NGN_Sound* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); + + // Procesos iniciales despues de crear la instancia + void BootUp(); - // Destructor de la clase - ~NGN_Sound(); /*** Efectos de sonido (SFX) [64 simultaneos maximo por defecto] ***/ @@ -242,6 +245,16 @@ class NGN_Sound { // Private private: + // Constructor de la clase + NGN_Sound(); + + // Destructor de la clase + ~NGN_Sound(); + + // Puntero de memoria a la instancia + static NGN_Sound* instance; + + // Lista de sonidos disponibles std::vector sfx_cue; diff --git a/Source/ngn_sprite.cpp b/Source/ngn_sprite.cpp index 4f6a9e7..684f9fb 100644 --- a/Source/ngn_sprite.cpp +++ b/Source/ngn_sprite.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Sprites Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_sprite.h b/Source/ngn_sprite.h index c028a8a..895b85a 100644 --- a/Source/ngn_sprite.h +++ b/Source/ngn_sprite.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Sprites Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_system.cpp b/Source/ngn_system.cpp index 46f91af..a773981 100644 --- a/Source/ngn_system.cpp +++ b/Source/ngn_system.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones de sistema Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -58,6 +58,38 @@ +/*** Puntero de la instancia a NULL ***/ +NGN_System* NGN_System::instance = NULL; + + + +/*** Metodo para crear/obtener la instancia ***/ +NGN_System* NGN_System::GetInstance() { + + // Verifica si la instancia ya se ha creado + // Si no es asi, creala + if (!instance) instance = new NGN_System(); + + // Devuelve la instancia + return instance; + +} + + + +/*** Metodo para eliminar la instancia ***/ +void NGN_System::RemoveInstance() { + + // Si la instancia aun existe, eliminala + if (instance) { + delete instance; + instance = NULL; + } + +} + + + /*** Contructor ***/ NGN_System::NGN_System() { @@ -83,6 +115,12 @@ NGN_System::~NGN_System() { +/*** Procesos iniciales despues de crear la instancia ***/ +void NGN_System::BootUp() { +} + + + /*** Inicializa el engine SDL ***/ bool NGN_System::Init() { diff --git a/Source/ngn_system.h b/Source/ngn_system.h index c1ca6be..698a487 100644 --- a/Source/ngn_system.h +++ b/Source/ngn_system.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Funciones de sistema Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -61,11 +61,13 @@ class NGN_System { // Public public: - // Contructor - NGN_System(); + // Devuelve la instancia + static NGN_System* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); - // Destructor - ~NGN_System(); + // Procesos iniciales despues de crear la instancia + void BootUp(); // Inicializa la libreria bool Init(); @@ -93,6 +95,15 @@ class NGN_System { // Private private: + // Contructor + NGN_System(); + + // Destructor + ~NGN_System(); + + // Puntero de memoria a la instancia + static NGN_System* instance; + // Resetea los flags y variables antes de leer el evento void ResetFlags(); diff --git a/Source/ngn_text_layer.cpp b/Source/ngn_text_layer.cpp index 435dc49..ea9df92 100644 --- a/Source/ngn_text_layer.cpp +++ b/Source/ngn_text_layer.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Text Layer - Capa de texto con soporte TTF Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_text_layer.h b/Source/ngn_text_layer.h index 9c286df..3b37761 100644 --- a/Source/ngn_text_layer.h +++ b/Source/ngn_text_layer.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Text Layer - Capa de texto con soporte TTF Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_texture.cpp b/Source/ngn_texture.cpp index 02966b0..318571a 100644 --- a/Source/ngn_texture.cpp +++ b/Source/ngn_texture.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Fondos con texturas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_texture.h b/Source/ngn_texture.h index 972c507..3f3ce88 100644 --- a/Source/ngn_texture.h +++ b/Source/ngn_texture.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Fondos con texturas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_tiledbg.cpp b/Source/ngn_tiledbg.cpp index 72be63d..48014a2 100644 --- a/Source/ngn_tiledbg.cpp +++ b/Source/ngn_tiledbg.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Fondos Tileados Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_tiledbg.h b/Source/ngn_tiledbg.h index b380132..3f14fc0 100644 --- a/Source/ngn_tiledbg.h +++ b/Source/ngn_tiledbg.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** Fondos Tileados Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com diff --git a/Source/ngn_toolbox.cpp b/Source/ngn_toolbox.cpp index ebc7a49..c437faa 100644 --- a/Source/ngn_toolbox.cpp +++ b/Source/ngn_toolbox.cpp @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** TOOL BOX - Caja de herramientas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -67,6 +67,40 @@ ******************************************************************************/ + + +/*** Puntero de la instancia a NULL ***/ +NGN_ToolBox* NGN_ToolBox::instance = NULL; + + + +/*** Metodo para crear/obtener la instancia ***/ +NGN_ToolBox* NGN_ToolBox::GetInstance() { + + // Verifica si la instancia ya se ha creado + // Si no es asi, creala + if (!instance) instance = new NGN_ToolBox(); + + // Devuelve la instancia + return instance; + +} + + + +/*** Metodo para eliminar la instancia ***/ +void NGN_ToolBox::RemoveInstance() { + + // Si la instancia aun existe, eliminala + if (instance) { + delete instance; + instance = NULL; + } + +} + + + /*** Contructor de la clase NGN_ToolBox ***/ NGN_ToolBox::NGN_ToolBox() { } @@ -79,6 +113,12 @@ NGN_ToolBox::~NGN_ToolBox() { +/*** Procesos iniciales despues de crear la instancia ***/ +void NGN_ToolBox::BootUp() { +} + + + /****************************************************************************** Cadenas de texto diff --git a/Source/ngn_toolbox.h b/Source/ngn_toolbox.h index 6614773..f5d5260 100644 --- a/Source/ngn_toolbox.h +++ b/Source/ngn_toolbox.h @@ -1,11 +1,11 @@ /****************************************************************************** N'gine Lib for C++ - *** Version 1.11.0-wip0x02 *** + *** Version 1.11.0-stable *** TOOL BOX - Caja de herramientas Proyecto iniciado el 1 de Febrero del 2016 - (cc) 2016 - 2022 by Cesar Rincon "NightFox" + (cc) 2016 - 2023 by Cesar Rincon "NightFox" https://nightfoxandco.com contact@nightfoxandco.com @@ -73,11 +73,13 @@ class NGN_ToolBox { // Segmento publico public: - // Constructor de la clase - NGN_ToolBox(); + // Devuelve la instancia + static NGN_ToolBox* GetInstance(); + // Elimina la instancia + static void RemoveInstance(); - // Destructor de la clase - ~NGN_ToolBox(); + // Procesos iniciales despues de crear la instancia + void BootUp(); /*** Cadenas de texto ***/ @@ -98,6 +100,15 @@ class NGN_ToolBox { // Segmento privado private: + // Constructor de la clase + NGN_ToolBox(); + + // Destructor de la clase + ~NGN_ToolBox(); + + // Puntero de memoria a la instancia + static NGN_ToolBox* instance; + // Constantes de conversion a UTF-8 (2 bytes) // El primer byte en la codificacion en 2 bytes empieza con 110 y contiene 5 bits de datos const uint8_t utf8_b0_head = 0xC0; // 1100 0000 diff --git a/Tools/NGN_CollisionMap/NGN_CollisionMap.cbp b/Tools/NGN_CollisionMap/NGN_CollisionMap.cbp index ba10272..9424805 100644 --- a/Tools/NGN_CollisionMap/NGN_CollisionMap.cbp +++ b/Tools/NGN_CollisionMap/NGN_CollisionMap.cbp @@ -13,6 +13,8 @@