MÉTODOS de la clase
Método
NGN_TextureData* Texture(const std::string& filepath);
Descripción
Carga una imagen en formato PNG y la convierte a datos de textura. El tamaño máximo de imagen soportado es de 8192x8192 píxeles. Devuelve NULL en caso de error.
Ejemplo
NGN_TextureData* bg_grid = ngn->load->Texture("data/png/grid.png");
Método
NGN_TiledBgData* TiledBg(const std::string& filepath);
Descripción
Carga los datos de un fondo de tiles en formato .tbg (Ver las utilidades adjuntas de la librería). El tamaño máximo del tileset es de 8192x8192 píxeles. Devuelve NULL en caso de error.
Ejemplo
NGN_TiledBgData* tiles_bg_front = ngn->load->TiledBg("data/bg/bg_front.tbg");
Método
NGN_IndexedTiledBgData* IndexedTiledBg(
const std::string& bg_file, // Archivo de tiles + mapa (.itb)
const std::string& pal_file, // Archivo de la paleta de colores
const std::string& cyc_file = "" // (Opcional) Archivo de ciclos de animación
);
Descripción
Carga los datos de un fondo de tiles indexado en formato .itb junto con su archivo de paleta de colores (.pal) y opcionalmente, un archivo de ciclos de animación de paleta .cyc (Ver las utilidades adjuntas de la librería). Devuelve NULL en caso de error.
Ejemplo
NGN_IndexedTiledBgData* idx_bg = ngn->load->IndexedTiledBg("data/bg/stage1.itb", "data/bg/stage1.pal", "data/bg/stage1.cyc");
Método
NGN_SpriteData* Sprite(const std::string& filepath);
Descripción
Carga los datos de un sprite en formato .spr (Ver las utilidades adjuntas de la librería). El tamaño máximo de cada fotograma del sprite es de 8192x8192 píxeles. Devuelve NULL en caso de error.
Ejemplo
NGN_SpriteData* wizard_sprite = ngn->load->Sprite("data/spr/wizard.spr");
Método
NGN_CollisionMapData* CollisionMap(const std::string& filepath);
Descripción
Carga los datos de un mapa de colisiones en formato .map (Ver las utilidades adjuntas de la librería). Devuelve NULL en caso de error.
Ejemplo
NGN_CollisionMapData* collision_map = ngn->load->CollisionMap("data/collision/mainmap.map");
Método
NGN_AudioClipData* AudioClip(const std::string& filepath);
Descripción
Carga un archivo de audio en formato WAV, FLAC o OGG y lo convierte al formato AudioClipData para usarlo como efecto de sonido. Devuelve NULL en caso de error.
Ejemplo
NGN_AudioClipData* coin_sfx = ngn->load->AudioClip("data/wav/coin.wav");
Método
NGN_TextFont* TrueTypeFont(
const std::string& filepath, // Archivo a cargar
uint32_t height, // Altura de la fuente (en píxeles)
bool antialias = true, // ¿Antialias?
uint32_t font_color = 0xFFFFFF, // Color base (RGB)
uint32_t outline = 0, // ¿Borde? (en píxeles)
uint32_t outline_color = 0x000000 // Color del borde (RGB)
);
Descripción
Carga un archivo de fuente tipográfica TRUE TYPE y genera las texturas para cada carácter con el tamaño de fuente y propiedades especificadas. Devuelve NULL en caso de no poder cargar o convertir la fuente.
Ejemplo
NGN_TextFont* font = ngn->load->TrueTypeFont("data/consolas.ttf", 24);
Método
NGN_RawImage* PngAsRaw(const std::string& filepath);
Descripción
Carga una imagen en formato PNG y devuelve los píxeles de la misma en formato RAW. Devuelve NULL en caso de error.
Ejemplo
NGN_RawImage* pixels = ngn->load->PngAsRaw("data/clouds.png");
Método
NGN_RawImage* SpriteAsRaw(
const std::string& filepath, // Archivo a cargar
uint32_t frame = 0 // Fotograma a convertir (0 por defecto)
);
Descripción
Carga los datos de un sprite y devuelve los píxeles del fotograma especificado en formato RAW. Devuelve NULL en caso de error.
Ejemplo
NGN_RawImage* pixels = ngn->load->SpriteAsRaw("data/coin.spr", 3);
Método
bool SpriteAsRawVector(
const std::string& filepath, // Archivo a cargar
std::vector<NGN_RawImage*>& raw_frames, // Vector de destino con los frames
uint32_t first_frame = 0, // Frame inicial (0 por defecto)
uint32_t last_frame = NGN_DEFAULT_VALUE // Frame final (último por defecto)
);
Descripción
Carga los datos de un sprite y almacena los píxeles de los fotogramas especificados en formato RAW dentro de un vector. Devuelve true en caso de éxito y false en caso de error.
Ejemplo
std::vector<NGN_RawImage*> frames;
ngn->load->SpriteAsRawVector("data/coin.spr", frames, 2, 5);
Método
// Primera sobrecarga
std::string TextFile(const std::string& filepath);
// Segunda sobrecarga
bool TextFile(
const std::string& filepath, // Ruta del archivo
std::vector<std::string>& text_lines // Buffer de destino
);
Descripción
Lee el archivo de texto de la ruta especificada y lo devuelve como un string (primera sobrecarga) o almacena las líneas de texto del archivo en el vector dado y devuelve true o false según el éxito de la operación (segunda sobrecarga).
Ejemplo
// Primera sobrecarga
std::string text = ngn->load->TextFile("data/script.txt");
// Segunda sobrecarga
std::vector<std::string> buffer;
ngn->load->TextFile("data/script.txt", buffer);
Método
int32_t LoadFile(
const std::string& filepath, // Ruta del archivo
std::vector<uint8_t>& data // Vector de datos
);
Descripción
Lee el archivo de la ruta especificada desde el sistema de archivos del dispositivo o desde un paquete de archivos (ver SetDisk() y SetPackage()) y coloca los datos en el vector dado. Si se lee el archivo desde un paquete y este está encriptado, se desencriptará el contenido automáticamente. El método devuelve el número de bytes leídos o -1 en caso de error.
Ejemplo
std::vector<uint8_t> buffer;
int32_t file_length = ngn->load->LoadFile("data/stage.bin", buffer);
Método
int32_t LoadFileChunk(
const std::string& filepath, // Ruta del archivo
std::vector<uint8_t>& data, // Vector de almacenamiento
uint32_t offset, // Byte de inicio de lectura
uint32_t length // Número de bytes a leer
);
Descripción
Carga un fragmento específico de un archivo desde el origen predeterminado (ya sea desde el sistema de archivos o desde un paquete de datos). Si el archivo se encuentra encriptado, el método lo desencriptará automáticamente durante la carga. Devuelve el número de bytes leídos o -1 en caso de error.
Ejemplo
std::vector<uint8_t> chunk;
int32_t bytes_read = ngn->load->LoadFileChunk("data/assets.pkg", chunk, 1024, 512);
Método
void SetDisk();
Descripción
Establece el sistema de archivos del dispositivo como el origen predeterminado de datos para todos los métodos de carga.
Ejemplo
ngn->load->SetDisk();
Método
bool SetPackage(
const std::string& pkg_file, // Archivo empaquetado
std::string key = "" // Clave de encriptación (opcional)
);
Descripción
Establece un archivo empaquetado creado con la herramienta NGN_FileSystem como el origen predeterminado de datos para los métodos de carga. Si los archivos del paquete están encriptados, deberá proporcionarse la clave de encriptación en el segundo parámetro. Devuelve true si el paquete se configuró correctamente o false en caso contrario.
Ejemplo
ngn->load->SetPackage("gamedata.pkg", "myawesomekey");
Método
bool PackageEnabled();
Descripción
Devuelve un valor booleano indicando si actualmente se está utilizando un archivo empaquetado como origen de datos (true) o el disco directo (false).
Ejemplo
if (ngn->load->PackageEnabled()) {
// Origen: paquete de datos
}