- By NightFox
NightFox’s Lib is a library written in C that we have developed to facilitate programming for the DS. Based on Libnds of devkitArm, our library contains functions witch make the use of backgrounds, sprites, collision maps, etc much easier.
The basic features of the library are:
- Support for 256 color Tiled Backgrounds.
You can load them from FAT or NitroFS and load up to 32 backgrounds in RAM. The size of the backgrounds must be in multiples of 256 pixels. The background system supports extended palettes and can have up to 16 palettes of 256 per layer. The VRAM configuration allows the use of 96kb for tiles and 32kb for maps. The system also has support infinite maps, using the “bank swap” technique, maintaining the entire map on RAM and copying to VRAM only the necessary part. The only limitation is the size of the tileset, which can not exceed 96kb counting the four layers. This system also allows the scroll of backgrounds, automatically managing that part of the map is loaded into VRAM. Also included functions to display or hide backgrounds, unload them from RAM, change the map tiles from code, change the palette colors, extended palettes, etc.
- Support for 256 color Sprites.
You can load up to 256 graphics and 64 palettes for sprites. The system allows create and delete sprites, hide, rotate, resize and flip them, etc. You can put up to 128 sprites per screen. The system also supports animated sprites with unlimited frames, you can put all frames into VRAM or just the current one. The system also supports the modification of the sprite palette to create effects.
- Text Engine.
Based on the tiled background system, has support for fonts of 8×8 and 8×16 pixels. Fonts supports 256 colors (you can use colored fonts), define your own colors, choose the orientation of the text (normal, rotated to right, rotated to left), make a scroll of text, etc.. You must load a font for each text layer (up to 4 per screen).
Basic support for loading RAW files from FAT or NitroFS. Use of Libnds engine for playback. You can load up to 32 sounds in RAM.
- Collision maps.
Many games require the use of collision maps. Our library supports collision maps, editable from code and can work with up to 32 maps at a time into RAM.
- 8 and 16 bits backgrounds.
You can use 8 and 16 bits backgrounds and images if you need more quality on the screen. It includes functions for loading and drawing these backgrounds on the screen. You can load up to 16 RAW images of 8 or 16 bits. This system also has support for backbuffer.
The library provides functions for loading and displays bitmap files. You can load 8, 16 or 24 bits bitmap files and display them on the screen (16-bit mode). The library makes the loading of BMP file and conversion into 16 bits for you.
- 3D Sprites.
Unique features using 3D engine console, which can create up to 256 sprites on screen simultaneously with a maximum size of 1024×1024, with the possibility of rotation, scaling and up to 62 units of different transparency.
Very basic support for communication using wireless. Only includes a test functions for communication using the UDP protcol.
The library includes over 30 examples ready to compile, which shows almost all the functions of the library.
Complete documentation in PDF, with a full description of all functions.
You can download the lastest release of the lib from this link:
Download hosted on SourceForge.