zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lib3ds_io.c File Reference
#include "lib3ds_impl.h"

Go to the source code of this file.

Functions

void lib3ds_io_cleanup (Lib3dsIo *io)
 
void lib3ds_io_log (Lib3dsIo *io, Lib3dsLogLevel level, const char *format,...)
 
void lib3ds_io_log_indent (Lib3dsIo *io, int indent)
 
static void lib3ds_io_log_str (Lib3dsIo *io, Lib3dsLogLevel level, const char *str)
 
size_t lib3ds_io_read (Lib3dsIo *io, void *buffer, size_t size)
 
uint8_t lib3ds_io_read_byte (Lib3dsIo *io)
 
uint32_t lib3ds_io_read_dword (Lib3dsIo *io)
 
void lib3ds_io_read_error (Lib3dsIo *io)
 
float lib3ds_io_read_float (Lib3dsIo *io)
 
int8_t lib3ds_io_read_intb (Lib3dsIo *io)
 
int32_t lib3ds_io_read_intd (Lib3dsIo *io)
 
int16_t lib3ds_io_read_intw (Lib3dsIo *io)
 
void lib3ds_io_read_rgb (Lib3dsIo *io, float rgb[3])
 
void lib3ds_io_read_string (Lib3dsIo *io, char *s, int buflen)
 
void lib3ds_io_read_vector (Lib3dsIo *io, float v[3])
 
uint16_t lib3ds_io_read_word (Lib3dsIo *io)
 
long lib3ds_io_seek (Lib3dsIo *io, long offset, Lib3dsIoSeek origin)
 
void lib3ds_io_setup (Lib3dsIo *io)
 
long lib3ds_io_tell (Lib3dsIo *io)
 
size_t lib3ds_io_write (Lib3dsIo *io, const void *buffer, size_t size)
 
void lib3ds_io_write_byte (Lib3dsIo *io, uint8_t b)
 
void lib3ds_io_write_dword (Lib3dsIo *io, uint32_t d)
 
void lib3ds_io_write_error (Lib3dsIo *io)
 
void lib3ds_io_write_float (Lib3dsIo *io, float l)
 
void lib3ds_io_write_intb (Lib3dsIo *io, int8_t b)
 
void lib3ds_io_write_intd (Lib3dsIo *io, int32_t d)
 
void lib3ds_io_write_intw (Lib3dsIo *io, int16_t w)
 
void lib3ds_io_write_rgb (Lib3dsIo *io, float rgb[3])
 
void lib3ds_io_write_string (Lib3dsIo *io, const char *s)
 
void lib3ds_io_write_vector (Lib3dsIo *io, float v[3])
 
void lib3ds_io_write_word (Lib3dsIo *io, uint16_t w)
 

Function Documentation

void lib3ds_io_cleanup ( Lib3dsIo io)
void lib3ds_io_log_indent ( Lib3dsIo io,
int  indent 
)

Definition at line 119 of file lib3ds_io.c.

References assert, and Lib3dsIo::impl.

Referenced by lib3ds_node_read().

static void lib3ds_io_log_str ( Lib3dsIo io,
Lib3dsLogLevel  level,
const char *  str 
)
static

Definition at line 92 of file lib3ds_io.c.

References Lib3dsIo::impl, Lib3dsIo::log_func, Lib3dsIo::self, and str.

Referenced by lib3ds_io_log().

uint8_t lib3ds_io_read_byte ( Lib3dsIo io)

Read a byte from a file stream.

Definition at line 143 of file lib3ds_io.c.

References assert, and lib3ds_io_read().

Referenced by color_read(), lib3ds_mesh_read(), and texture_map_read().

uint32_t lib3ds_io_read_dword ( Lib3dsIo io)

Read a dword from file a stream in little endian format.

Definition at line 172 of file lib3ds_io.c.

References assert, d, and lib3ds_io_read().

Referenced by face_array_read(), layer_fog_read(), lib3ds_chunk_read(), lib3ds_chunk_read_next(), lib3ds_file_read(), and lib3ds_track_read().

void lib3ds_io_read_error ( Lib3dsIo io)

Definition at line 128 of file lib3ds_io.c.

References lib3ds_io_log(), and LIB3DS_LOG_ERROR.

Referenced by lib3ds_io_read_string().

int8_t lib3ds_io_read_intb ( Lib3dsIo io)

Read a signed byte from a file stream.

Definition at line 190 of file lib3ds_io.c.

References assert, and lib3ds_io_read().

Referenced by lib3ds_material_read().

int32_t lib3ds_io_read_intd ( Lib3dsIo io)

Read a signed dword a from file stream in little endian format.

Definition at line 219 of file lib3ds_io.c.

References assert, d, and lib3ds_io_read().

Referenced by kfdata_read(), lib3ds_material_read(), lib3ds_track_read(), and mdata_read().

int16_t lib3ds_io_read_intw ( Lib3dsIo io)

Read a signed word from a file stream in little endian format.

Definition at line 203 of file lib3ds_io.c.

References assert, and lib3ds_io_read().

Referenced by int_percentage_read(), lib3ds_material_read(), lib3ds_shadow_read(), lib3ds_viewport_read(), spotlight_read(), and texture_map_read().

void lib3ds_io_read_rgb ( Lib3dsIo io,
float  rgb[3] 
)

Definition at line 267 of file lib3ds_io.c.

References assert, and lib3ds_io_read_float().

Referenced by layer_fog_read(), solid_bgnd_read(), and v_gradient_read().

void lib3ds_io_read_string ( Lib3dsIo io,
char *  s,
int  buflen 
)

Read a zero-terminated string from a file stream.

Parameters
ioIO input handle.
sThe buffer to store the read string.
buflenBuffer length.
Returns
True on success, False otherwise.

Definition at line 285 of file lib3ds_io.c.

References assert, k, lib3ds_io_log(), lib3ds_io_read(), lib3ds_io_read_error(), and LIB3DS_LOG_ERROR.

Referenced by face_array_read(), kfdata_read(), lib3ds_background_read(), lib3ds_material_read(), lib3ds_node_read(), named_object_read(), spotlight_read(), and texture_map_read().

void lib3ds_io_read_vector ( Lib3dsIo io,
float  v[3] 
)

Read a vector from a file stream in little endian format.

Parameters
ioIO input handle.
vThe vector to store the data.

Definition at line 258 of file lib3ds_io.c.

References assert, and lib3ds_io_read_float().

Referenced by lib3ds_mesh_read(), lib3ds_node_read(), lib3ds_track_read(), and lib3ds_viewport_read().

uint16_t lib3ds_io_read_word ( Lib3dsIo io)

Read a word from a file stream in little endian format.

Definition at line 156 of file lib3ds_io.c.

References assert, and lib3ds_io_read().

Referenced by face_array_read(), kfdata_read(), lib3ds_chunk_read(), lib3ds_chunk_read_next(), lib3ds_mesh_read(), lib3ds_node_read(), lib3ds_track_read(), lib3ds_viewport_read(), tcb_read(), and texture_map_read().

long lib3ds_io_seek ( Lib3dsIo io,
long  offset,
Lib3dsIoSeek  origin 
)
void lib3ds_io_setup ( Lib3dsIo io)

Definition at line 28 of file lib3ds_io.c.

References assert, calloc, and Lib3dsIo::impl.

Referenced by lib3ds_file_read(), and lib3ds_file_write().

long lib3ds_io_tell ( Lib3dsIo io)
void lib3ds_io_write_byte ( Lib3dsIo io,
uint8_t  b 
)

Writes a byte into a file stream.

Definition at line 310 of file lib3ds_io.c.

References assert, lib3ds_io_write(), and lib3ds_io_write_error().

Referenced by color_write(), lib3ds_mesh_write(), and texture_map_write().

void lib3ds_io_write_dword ( Lib3dsIo io,
uint32_t  d 
)
void lib3ds_io_write_intb ( Lib3dsIo io,
int8_t  b 
)

Writes a signed byte in a file stream.

Definition at line 356 of file lib3ds_io.c.

References assert, lib3ds_io_write(), and lib3ds_io_write_error().

Referenced by lib3ds_material_write().

void lib3ds_io_write_intd ( Lib3dsIo io,
int32_t  d 
)

Writes a signed dword into a little endian file stream.

Definition at line 384 of file lib3ds_io.c.

References assert, lib3ds_io_write(), and lib3ds_io_write_error().

Referenced by kfdata_write(), lib3ds_material_write(), lib3ds_track_write(), and mdata_write().

void lib3ds_io_write_intw ( Lib3dsIo io,
int16_t  w 
)

Writes a signed word into a little endian file stream.

Definition at line 368 of file lib3ds_io.c.

References assert, lib3ds_io_write(), and lib3ds_io_write_error().

Referenced by int_percentage_write(), kfdata_write(), lib3ds_light_write(), lib3ds_material_write(), lib3ds_node_write(), lib3ds_shadow_write(), and lib3ds_viewport_write().

void lib3ds_io_write_rgb ( Lib3dsIo io,
float  rgb[3] 
)

Definition at line 431 of file lib3ds_io.c.

References i, and lib3ds_io_write_float().

Referenced by colorf_write(), lib3ds_atmosphere_write(), and lib3ds_light_write().

void lib3ds_io_write_string ( Lib3dsIo io,
const char *  s 
)
void lib3ds_io_write_vector ( Lib3dsIo io,
float  v[3] 
)

Writes a vector into a file stream in little endian format.

Definition at line 422 of file lib3ds_io.c.

References i, and lib3ds_io_write_float().

Referenced by lib3ds_camera_write(), lib3ds_light_write(), lib3ds_mesh_write(), lib3ds_node_write(), lib3ds_track_write(), lib3ds_viewport_write(), mdata_write(), and point_array_write().