citro3d  1.2.0
Data Structures | Functions | Variables
tex3ds.c File Reference

Tex3DS routines. More...

#include <tex3ds.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
Include dependency graph for tex3ds.c:

Data Structures

struct  Tex3DS_Texture
 Tex3DS texture. More...
 
struct  Tex3DSi_SubTexture
 

Functions

struct __attribute__ ((packed))
 
static bool Tex3DSi_ReadData (decompressCallback callback, void **userdata, void *buffer, size_t size, size_t *insize)
 
static Tex3DS_Texture Tex3DSi_ImportCommon (C3D_Tex *tex, C3D_TexCube *texcube, bool vram, decompressCallback callback, void *userdata, size_t insize)
 
Tex3DS_Texture Tex3DS_TextureImport (const void *input, size_t insize, C3D_Tex *tex, C3D_TexCube *texcube, bool vram)
 Import Tex3DS texture. More...
 
Tex3DS_Texture Tex3DS_TextureImportCallback (C3D_Tex *tex, C3D_TexCube *texcube, bool vram, decompressCallback callback, void *userdata)
 Import Tex3DS texture. More...
 
Tex3DS_Texture Tex3DS_TextureImportFD (int fd, C3D_Tex *tex, C3D_TexCube *texcube, bool vram)
 Import Tex3DS texture. More...
 
Tex3DS_Texture Tex3DS_TextureImportStdio (FILE *fp, C3D_Tex *tex, C3D_TexCube *texcube, bool vram)
 Import Tex3DS texture. More...
 
size_t Tex3DS_GetNumSubTextures (const Tex3DS_Texture texture)
 Get number of subtextures. More...
 
const Tex3DS_SubTextureTex3DS_GetSubTexture (const Tex3DS_Texture texture, size_t index)
 Get subtexture. More...
 
void Tex3DS_TextureFree (Tex3DS_Texture texture)
 Free Tex3DS texture. More...
 

Variables

 Tex3DSi_Header
 

Detailed Description

Tex3DS routines.

Function Documentation

◆ __attribute__()

struct __attribute__ ( (packed)  )

◆ Tex3DS_GetNumSubTextures()

size_t Tex3DS_GetNumSubTextures ( const Tex3DS_Texture  texture)

Get number of subtextures.

Parameters
[in]textureTex3DS texture
Returns
Number of subtextures

◆ Tex3DS_GetSubTexture()

const Tex3DS_SubTexture* Tex3DS_GetSubTexture ( const Tex3DS_Texture  texture,
size_t  index 
)

Get subtexture.

Parameters
[in]textureTex3DS texture
[in]indexSubtexture index
Returns
Subtexture info

◆ Tex3DS_TextureFree()

void Tex3DS_TextureFree ( Tex3DS_Texture  texture)

Free Tex3DS texture.

Parameters
[in]textureTex3DS texture to free

◆ Tex3DS_TextureImport()

Tex3DS_Texture Tex3DS_TextureImport ( const void *  input,
size_t  insize,
C3D_Tex tex,
C3D_TexCube texcube,
bool  vram 
)

Import Tex3DS texture.

Parameters
[in]inputInput data
[in]insizeSize of the input data
[out]texcitro3d texture
[out]texcubecitro3d texcube
[in]vramWhether to store textures in VRAM
Returns
Tex3DS texture

◆ Tex3DS_TextureImportCallback()

Tex3DS_Texture Tex3DS_TextureImportCallback ( C3D_Tex tex,
C3D_TexCube texcube,
bool  vram,
decompressCallback  callback,
void *  userdata 
)

Import Tex3DS texture.

@description For example, use this if you want to import from a large file without pulling the entire file into memory.

Parameters
[out]texcitro3d texture
[out]texcubecitro3d texcube
[in]vramWhether to store textures in VRAM
[in]callbackData callback
[in]userdataUser data passed to callback
Returns
Tex3DS texture

◆ Tex3DS_TextureImportFD()

Tex3DS_Texture Tex3DS_TextureImportFD ( int  fd,
C3D_Tex tex,
C3D_TexCube texcube,
bool  vram 
)

Import Tex3DS texture.

Starts reading at the current file descriptor's offset. The file descriptor's position is left at the end of the decoded data. On error, the file descriptor's position is indeterminate.

Parameters
[in]fdOpen file descriptor
[out]texcitro3d texture
[out]texcubecitro3d texcube
[in]vramWhether to store textures in VRAM
Returns
Tex3DS texture

◆ Tex3DS_TextureImportStdio()

Tex3DS_Texture Tex3DS_TextureImportStdio ( FILE *  fp,
C3D_Tex tex,
C3D_TexCube texcube,
bool  vram 
)

Import Tex3DS texture.

Starts reading at the current file stream's offset. The file stream's position is left at the end of the decoded data. On error, the file stream's position is indeterminate.

Parameters
[in]fpOpen file stream
[out]texcitro3d texture
[out]texcubecitro3d texcube
[in]vramWhether to store textures in VRAM
Returns
Tex3DS texture

◆ Tex3DSi_ImportCommon()

static Tex3DS_Texture Tex3DSi_ImportCommon ( C3D_Tex tex,
C3D_TexCube texcube,
bool  vram,
decompressCallback  callback,
void *  userdata,
size_t  insize 
)
static

◆ Tex3DSi_ReadData()

static bool Tex3DSi_ReadData ( decompressCallback  callback,
void **  userdata,
void *  buffer,
size_t  size,
size_t *  insize 
)
inlinestatic

Variable Documentation

◆ Tex3DSi_Header

Tex3DSi_Header