{"id":52,"date":"2019-07-11T13:17:51","date_gmt":"2019-07-11T11:17:51","guid":{"rendered":"http:\/\/nightfoxandco.com\/?page_id=52"},"modified":"2022-02-14T13:09:50","modified_gmt":"2022-02-14T12:09:50","slug":"nds-nightfoxs-lib","status":"publish","type":"page","link":"https:\/\/nightfoxandco.com\/?page_id=52","title":{"rendered":"NDS NightFox&#8217;s Lib"},"content":{"rendered":"\n<figure class=\"wp-block-image is-resized\"><a href=\"http:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/nds_nflib_splash.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/nds_nflib_splash-987x1024.png\" alt=\"\" class=\"wp-image-115\" width=\"494\" height=\"512\" srcset=\"https:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/nds_nflib_splash-987x1024.png 987w, https:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/nds_nflib_splash-289x300.png 289w, https:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/nds_nflib_splash-768x797.png 768w, https:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/nds_nflib_splash.png 1100w\" sizes=\"auto, (max-width: 494px) 100vw, 494px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>[<strong>NOTA IMPORTANTE<\/strong>]<br> Dado que hace MUCHO tiempo que no actualizo la librer\u00eda, esta no funciona \u00abtal cual\u00bb en las \u00faltimas versiones de libNDS. Un recompilado de la librer\u00eda usando la <a href=\"https:\/\/devkitpro.org\/\">\u00faltima versi\u00f3n de libNDS<\/a> soluciona el problema. En el propio archivo comprimido de la librer\u00eda hay un directorio para poder realizar esta recompilaci\u00f3n.<\/p>\n\n\n\n<p>NightFox\u2019s Lib es una librer\u00eda escrita en C que hemos desarrollado para facilitar la programaci\u00f3n para DS. Basada en las <a href=\"https:\/\/devkitpro.org\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Libnds de devkitArm (abre en una nueva pesta\u00f1a)\">Libnds de devkitArm<\/a>, nuestra librer\u00eda contiene funciones que hacen mucho m\u00e1s f\u00e1cil el uso de fondos, sprites, mapas de colisiones, etc.<\/p>\n\n\n\n<p>Las caracter\u00edsticas b\u00e1sicas de la librer\u00eda son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Soporte para fondos de tiles de 256 colores.<br> Puedes cargarlos desde FAT o NitroFS, pudiendo cargar hasta 32 fondos en RAM. El tama\u00f1o de los fondos debe ser en m\u00faltiplos de 256 pixeles. El sistema de fondos soporta paletas extendidas, pudiendo cargar hasta 16 paletas de 256 colores por fondo. La configuraci\u00f3n de VRAM permite el uso de 96kb para tiles y 32kb para mapas por pantalla. El sistema tambi\u00e9n tiene soporte para mapas infinitos, usando la t\u00e9cnica \u00abbank swap\u00bb manteniendo en RAM todo el mapa y copiando a la VRAM solo la parte necesaria. La \u00fanica limitaci\u00f3n es el tama\u00f1o del tileset, que no puede ser superior a 96kb entre las 4 capas. Este sistema tambi\u00e9n permite el scroll de los fondos, gestionando autom\u00e1ticamente que parte del mapa se carga en VRAM. Tambi\u00e9n se incluyen funciones para mostrar u ocultar fondos, descargarlos de la RAM, cambiar tiles del mapa, modificar la paleta, uso de paletas extendidas, etc.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Soporte para Sprites de 256 colores.<br> Se pueden cargar en RAM hasta 256 gr\u00e1ficos para sprites y 64 paletas. El sistema de sprites permite la creaci\u00f3n de sprites, ocultarlos, rotarlos, cambiarles el tama\u00f1o, voltearlos, etc. Puedes colocar hasta 128 sprites por pantalla. El sistema tambi\u00e9n soporta sprites animados sin l\u00edmite de frames, pudiendo escoger si los frames se mantienen en VRAM o solo se copia el frame mostrado. El sistema tambi\u00e9n soporta la modificaci\u00f3n de paletas de los sprites para crear efectos.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Motor de texto.<br> Basado en el sistema de fondos tileados, tiene soporte para fuentes de 8\u00d78 y de 8\u00d716 pixeles. Soporta fuentes de 256 colores (puedes usar fuentes ya coloreadas), definir tus propios colores, escoger la orientaci\u00f3n del texto (normal, rotado a derecha, rotado a izquierda), realizar un scroll del texto, etc. Se debe cargar una fuente por cada capa de texto a usar (hasta 4 por pantalla).<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Sonido.<br> Soporte b\u00e1sico para la carga de archivos RAW desde FAT o NitroFS. Usa el engine de Libnds para reproducirlos. Puedes cargar hasta 32 sonidos en RAM.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Mapas de colisi\u00f3n.<br> Muchos juegos requieren el uso de mapas de colisiones. Nuestra librer\u00eda ofrece soporte de mapas de colisiones, editables desde c\u00f3digo, pudiendo trabajar hasta con 32 mapas a la vez en RAM.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Fondos en 8 y 16 bits.<br> Puedes usar fondos e im\u00e1genes de 8 y 16 bits si necesitas m\u00e1s calidad en pantalla. Se incluyen funciones para la carga y dibujado de estos fondos en pantalla. Puedes cargar hasta 16 im\u00e1genes en formato RAW de 8 o 16 bits. Este sistema tambi\u00e9n tiene soporte para backbuffer.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Media.<br> La librer\u00eda dispone funciones para la carga y visualizaciones de archivos BITMAP. Puedes cargar archivos de 8, 16 o 24 bits y mostrarlos en la pantalla (en modo 16 bits). La librer\u00eda carga y convierte el archivo BMP por ti.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>3d Sprites.<br> Funciones \u00fanicas para el uso del motor 3D de la consola, con el que se pueden crear hasta 256 Sprites en pantalla de manera simult\u00e1nea con un tama\u00f1o m\u00e1ximo de 1024\u00d71024, con posibilidad de rotaci\u00f3n, escalado y hasta 62 unidades de transparencia diferentes.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>WIFI.<br> Soporte muy b\u00e1sico para la comunicaci\u00f3n por wifi. Solo se incluyen unas funciones de prueba para la comunicaci\u00f3n usando el protocolo UDP.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Ejemplos.<br> La librer\u00eda incluye m\u00e1s de 30 ejemplos listos para compilar, en los que se muestran pr\u00e1cticamente todas las funciones de la librer\u00eda.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Documentaci\u00f3n.<br> Completa documentaci\u00f3n en PDF, con una descripci\u00f3n completa de todas las funciones.<\/li><\/ul>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image is-resized\"><a href=\"https:\/\/github.com\/knightfox75\/nds_nflib\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/download_icon-1024x160.png\" alt=\"\" class=\"wp-image-94\" width=\"512\" height=\"80\" srcset=\"https:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/download_icon-1024x160.png 1024w, https:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/download_icon-300x47.png 300w, https:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/download_icon-768x120.png 768w, https:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/download_icon-1536x240.png 1536w, https:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/download_icon.png 1641w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image is-resized\"><a href=\"https:\/\/creativecommons.org\/licenses\/by-nc\/4.0\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/cc_by-nc.png\" alt=\"\" class=\"wp-image-83\" width=\"101\" height=\"35\" srcset=\"https:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/cc_by-nc.png 403w, https:\/\/nightfoxandco.com\/wp-content\/uploads\/2019\/07\/cc_by-nc-300x105.png 300w\" sizes=\"auto, (max-width: 101px) 100vw, 101px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>[NOTA IMPORTANTE] Dado que hace MUCHO tiempo que no actualizo la librer\u00eda, esta no funciona \u00abtal cual\u00bb en las \u00faltimas versiones de libNDS. Un recompilado de la librer\u00eda usando la \u00faltima versi\u00f3n de libNDS soluciona el problema. En el propio archivo comprimido de la librer\u00eda hay un directorio para poder realizar esta recompilaci\u00f3n. NightFox\u2019s Lib <a class=\"more-link\" href=\"https:\/\/nightfoxandco.com\/?page_id=52\">Read More &#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":27,"menu_order":300,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-52","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/pages\/52","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=52"}],"version-history":[{"count":17,"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/pages\/52\/revisions"}],"predecessor-version":[{"id":1142,"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/pages\/52\/revisions\/1142"}],"up":[{"embeddable":true,"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=\/wp\/v2\/pages\/27"}],"wp:attachment":[{"href":"https:\/\/nightfoxandco.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=52"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}