FS2_Open
Open source remastering of the Freespace 2 engine
cfile.h File Reference
#include <time.h>
#include "globalincs/pstypes.h"
#include <stdexcept>

Go to the source code of this file.

Classes

struct  CFILE
 
struct  file_list_info
 
class  cfile::cfile_error
 
class  cfile::max_read_length
 

Namespaces

 cfile
 

Macros

#define CF_EOF   (-1)
 
#define CF_SEEK_SET   (0)
 
#define CF_SEEK_CUR   (1)
 
#define CF_SEEK_END   (2)
 
#define CF_MAX_FILENAME_LENGTH   32
 
#define CF_MAX_PATHNAME_LENGTH   256
 
#define CF_TYPE_ANY   -1
 
#define CF_TYPE_INVALID   0
 
#define CF_TYPE_ROOT   1
 
#define CF_TYPE_DATA   2
 
#define CF_TYPE_MAPS   3
 
#define CF_TYPE_TEXT   4
 
#define CF_TYPE_MODELS   5
 
#define CF_TYPE_TABLES   6
 
#define CF_TYPE_SOUNDS   7
 
#define CF_TYPE_SOUNDS_8B22K   8
 
#define CF_TYPE_SOUNDS_16B11K   9
 
#define CF_TYPE_VOICE   10
 
#define CF_TYPE_VOICE_BRIEFINGS   11
 
#define CF_TYPE_VOICE_CMD_BRIEF   12
 
#define CF_TYPE_VOICE_DEBRIEFINGS   13
 
#define CF_TYPE_VOICE_PERSONAS   14
 
#define CF_TYPE_VOICE_SPECIAL   15
 
#define CF_TYPE_VOICE_TRAINING   16
 
#define CF_TYPE_MUSIC   17
 
#define CF_TYPE_MOVIES   18
 
#define CF_TYPE_INTERFACE   19
 
#define CF_TYPE_FONT   20
 
#define CF_TYPE_EFFECTS   21
 
#define CF_TYPE_HUD   22
 
#define CF_TYPE_PLAYERS   23
 
#define CF_TYPE_PLAYER_IMAGES   24
 
#define CF_TYPE_SQUAD_IMAGES   25
 
#define CF_TYPE_SINGLE_PLAYERS   26
 
#define CF_TYPE_MULTI_PLAYERS   27
 
#define CF_TYPE_CACHE   28
 
#define CF_TYPE_MULTI_CACHE   29
 
#define CF_TYPE_MISSIONS   30
 
#define CF_TYPE_CONFIG   31
 
#define CF_TYPE_DEMOS   32
 
#define CF_TYPE_CBANIMS   33
 
#define CF_TYPE_INTEL_ANIMS   34
 
#define CF_TYPE_SCRIPTS   35
 
#define CF_TYPE_FICTION   36
 
#define CF_MAX_PATH_TYPES   37
 
#define CF_TYPE_SPECIFIED(path_type)   (((path_type)>CF_TYPE_INVALID) && ((path_type)<CF_MAX_PATH_TYPES))
 
#define CFILE_NORMAL   0
 
#define CFILE_MEMORY_MAPPED   (1<<0)
 
#define CF_SORT_NONE   0
 
#define CF_SORT_NAME   1
 
#define CF_SORT_TIME   2
 
#define CF_SORT_REVERSE   3
 
#define cfread_fix(file)   (fix)cfread_int(file)
 
#define cfwrite_fix(i, file)   cfwrite_int(i,file)
 
#define CFILE_ROOT_DIRECTORY_LEN   256
 
#define cfopen(...)   _cfopen(LOCATION, __VA_ARGS__)
 
#define cfopen_special(...)   _cfopen_special(LOCATION, __VA_ARGS__)
 
#define CF_RENAME_SUCCESS   0
 
#define CF_RENAME_FAIL_ACCESS   1
 
#define CF_RENAME_FAIL_EXIST   2
 

Typedefs

typedef struct CFILE CFILE
 

Functions

int cfile_init (const char *exe_dir, const char *cdrom_dir=NULL)
 Initialize the cfile system. Called once at application start. More...
 
void cfile_refresh ()
 
char * cf_add_ext (const char *filename, const char *ext)
 
int cf_get_dir_type (CFILE *cfile)
 
CFILE_cfopen (const char *source_file, int line, const char *filename, const char *mode, int type=CFILE_NORMAL, int dir_type=CF_TYPE_ANY, bool localize=false)
 
CFILE_cfopen_special (const char *source_file, int line, const char *file_path, const char *mode, const int size, const int offset, int dir_type=CF_TYPE_ANY)
 
int cflush (CFILE *cfile)
 
void cf_set_version (CFILE *cfile, int version)
 
void cf_set_max_read_len (CFILE *cfile, size_t len)
 
int cf_delete (const char *filename, int dir_type)
 Delete the specified file. More...
 
int cf_access (const char *filename, int dir_type, int mode)
 
int cf_exists (const char *filename, int dir_type)
 
int cf_exists_full (const char *filename, int dir_type)
 
int cf_exists_full_ext (const char *filename, int dir_type, const int num_ext, const char **ext_list)
 
CFILEctmpfile ()
 
int cfclose (CFILE *cfile)
 
int cf_is_valid (CFILE *cfile)
 
int cfilelength (CFILE *fp)
 
int cfread (void *buf, int elsize, int nelem, CFILE *fp)
 
int cfwrite (const void *buf, int elsize, int nelem, CFILE *cfile)
 
int cfread_compressed (void *buf, int elsize, int nelem, CFILE *cfile)
 
int cfwrite_compressed (void *param_buf, int param_elsize, int param_nelem, CFILE *cfile)
 
int cfseek (CFILE *fp, int offset, int where)
 
int cftell (CFILE *fp)
 
int cfputc (int c, CFILE *cfile)
 
int cfputs (const char *str, CFILE *cfile)
 
int cfgetc (CFILE *cfile)
 
char * cfgets (char *buf, int n, CFILE *cfile)
 
int cfeof (CFILE *cfile)
 
voidcf_returndata (CFILE *cfile)
 
int cf_chksum_short (const char *filename, ushort *chksum, int max_size=-1, int cf_type=CF_TYPE_ANY)
 
int cf_chksum_short (CFILE *file, ushort *chksum, int max_size=-1)
 
int cf_chksum_long (const char *filename, uint *chksum, int max_size=-1, int cf_type=CF_TYPE_ANY)
 
int cf_chksum_long (CFILE *file, uint *chksum, int max_size=-1)
 
int cf_chksum_pack (const char *filename, uint *chk_long, bool full=false)
 
ushort cf_add_chksum_short (ushort seed, ubyte *buffer, int size)
 
uint cf_add_chksum_long (uint seed, ubyte *buffer, int size)
 
int cfexist (const char *filename)
 
int cf_rename (const char *old_name, const char *name, int type=CF_TYPE_ANY)
 
void cf_attrib (const char *name, int set, int clear, int type)
 
int cfile_flush_dir (int type)
 
char * cfgets (char *buf, size_t n, CFILE *fp)
 
char cfread_char (CFILE *file, int ver=0, char deflt=0)
 
ubyte cfread_ubyte (CFILE *file, int ver=0, ubyte deflt=0)
 
short cfread_short (CFILE *file, int ver=0, short deflt=0)
 
ushort cfread_ushort (CFILE *file, int ver=0, ushort deflt=0)
 
int cfread_int (CFILE *file, int ver=0, int deflt=0)
 
uint cfread_uint (CFILE *file, int ver=0, uint deflt=0)
 
float cfread_float (CFILE *file, int ver=0, float deflt=0.0f)
 
void cfread_vector (vec3d *vec, CFILE *file, int ver=0, vec3d *deflt=NULL)
 
void cfread_angles (angles *ang, CFILE *file, int ver=0, angles *deflt=NULL)
 
void cfread_string (char *buf, int n, CFILE *file)
 
void cfread_string_len (char *buf, int n, CFILE *file)
 Read a fixed length string that is not null-terminated, with the length stored in file. More...
 
int cfwrite_char (char c, CFILE *file)
 
int cfwrite_float (float f, CFILE *file)
 
int cfwrite_int (int i, CFILE *file)
 
int cfwrite_uint (uint i, CFILE *file)
 
int cfwrite_short (short s, CFILE *file)
 
int cfwrite_ushort (ushort s, CFILE *file)
 
int cfwrite_ubyte (ubyte u, CFILE *file)
 
int cfwrite_vector (vec3d *vec, CFILE *file)
 
int cfwrite_angles (angles *ang, CFILE *file)
 
int cfwrite_string (const char *buf, CFILE *file)
 
int cfwrite_string_len (const char *buf, CFILE *file)
 Write a fixed length string (not including its null terminator), with the length stored in file. More...
 
int cf_get_file_list (SCP_vector< SCP_string > &list, int pathtype, const char *filter, int sort=CF_SORT_NONE, SCP_vector< file_list_info > *info=NULL)
 
int cf_get_file_list (int max, char **list, int type, const char *filter, int sort=CF_SORT_NONE, file_list_info *info=NULL)
 
int cf_get_file_list_preallocated (int max, char arr[][MAX_FILENAME_LEN], char **list, int type, const char *filter, int sort=CF_SORT_NONE, file_list_info *info=NULL)
 
void cf_sort_filenames (int n, char **list, int sort, file_list_info *info=NULL)
 
void cf_sort_filenames (SCP_vector< SCP_string > &list, int sort, SCP_vector< file_list_info > *info=NULL)
 
int cf_find_file_location (const char *filespec, int pathtype, int max_out, char *pack_filename, int *size, int *offset, bool localize=false)
 
int cf_find_file_location_ext (const char *filename, const int ext_num, const char **ext_list, int pathtype, int max_out=0, char *pack_filename=NULL, int *size=NULL, int *offset=NULL, bool localize=false)
 
int cfile_chdir (const char *dir)
 Change to the specified directory. More...
 
int cfile_push_chdir (int type)
 Push current directory onto a 'stack' and change to a new directory. More...
 
int cfile_pop_dir ()
 

Variables

int(* Get_file_list_filter )(const char *filename)
 
const char * Get_file_list_child
 
char Cfile_root_dir [CFILE_ROOT_DIRECTORY_LEN]
 

Macro Definition Documentation

#define CF_EOF   (-1)

Definition at line 22 of file cfile.h.

#define CF_MAX_FILENAME_LENGTH   32

Definition at line 39 of file cfile.h.

#define CF_MAX_PATH_TYPES   37

Definition at line 82 of file cfile.h.

#define CF_MAX_PATHNAME_LENGTH   256

Definition at line 40 of file cfile.h.

#define CF_RENAME_FAIL_ACCESS   1

Definition at line 248 of file cfile.h.

#define CF_RENAME_FAIL_EXIST   2

Definition at line 249 of file cfile.h.

#define CF_RENAME_SUCCESS   0

Definition at line 247 of file cfile.h.

#define CF_SEEK_CUR   (1)

Definition at line 25 of file cfile.h.

#define CF_SEEK_END   (2)

Definition at line 26 of file cfile.h.

#define CF_SEEK_SET   (0)

Definition at line 24 of file cfile.h.

#define CF_SORT_NAME   1

Definition at line 93 of file cfile.h.

#define CF_SORT_NONE   0

Definition at line 92 of file cfile.h.

#define CF_SORT_REVERSE   3

Definition at line 95 of file cfile.h.

#define CF_SORT_TIME   2

Definition at line 94 of file cfile.h.

#define CF_TYPE_ANY   -1

Definition at line 42 of file cfile.h.

#define CF_TYPE_CACHE   28

Definition at line 72 of file cfile.h.

#define CF_TYPE_CBANIMS   33

Definition at line 77 of file cfile.h.

#define CF_TYPE_CONFIG   31

Definition at line 75 of file cfile.h.

#define CF_TYPE_DATA   2

Definition at line 46 of file cfile.h.

#define CF_TYPE_DEMOS   32

Definition at line 76 of file cfile.h.

#define CF_TYPE_EFFECTS   21

Definition at line 65 of file cfile.h.

#define CF_TYPE_FICTION   36

Definition at line 80 of file cfile.h.

#define CF_TYPE_FONT   20

Definition at line 64 of file cfile.h.

#define CF_TYPE_HUD   22

Definition at line 66 of file cfile.h.

#define CF_TYPE_INTEL_ANIMS   34

Definition at line 78 of file cfile.h.

#define CF_TYPE_INTERFACE   19

Definition at line 63 of file cfile.h.

#define CF_TYPE_INVALID   0

Definition at line 44 of file cfile.h.

#define CF_TYPE_MAPS   3

Definition at line 47 of file cfile.h.

#define CF_TYPE_MISSIONS   30

Definition at line 74 of file cfile.h.

#define CF_TYPE_MODELS   5

Definition at line 49 of file cfile.h.

#define CF_TYPE_MOVIES   18

Definition at line 62 of file cfile.h.

#define CF_TYPE_MULTI_CACHE   29

Definition at line 73 of file cfile.h.

#define CF_TYPE_MULTI_PLAYERS   27

Definition at line 71 of file cfile.h.

#define CF_TYPE_MUSIC   17

Definition at line 61 of file cfile.h.

#define CF_TYPE_PLAYER_IMAGES   24

Definition at line 68 of file cfile.h.

#define CF_TYPE_PLAYERS   23

Definition at line 67 of file cfile.h.

#define CF_TYPE_ROOT   1

Definition at line 45 of file cfile.h.

#define CF_TYPE_SCRIPTS   35

Definition at line 79 of file cfile.h.

#define CF_TYPE_SINGLE_PLAYERS   26

Definition at line 70 of file cfile.h.

#define CF_TYPE_SOUNDS   7

Definition at line 51 of file cfile.h.

#define CF_TYPE_SOUNDS_16B11K   9

Definition at line 53 of file cfile.h.

#define CF_TYPE_SOUNDS_8B22K   8

Definition at line 52 of file cfile.h.

#define CF_TYPE_SPECIFIED (   path_type)    (((path_type)>CF_TYPE_INVALID) && ((path_type)<CF_MAX_PATH_TYPES))

Definition at line 86 of file cfile.h.

#define CF_TYPE_SQUAD_IMAGES   25

Definition at line 69 of file cfile.h.

#define CF_TYPE_TABLES   6

Definition at line 50 of file cfile.h.

#define CF_TYPE_TEXT   4

Definition at line 48 of file cfile.h.

#define CF_TYPE_VOICE   10

Definition at line 54 of file cfile.h.

#define CF_TYPE_VOICE_BRIEFINGS   11

Definition at line 55 of file cfile.h.

#define CF_TYPE_VOICE_CMD_BRIEF   12

Definition at line 56 of file cfile.h.

#define CF_TYPE_VOICE_DEBRIEFINGS   13

Definition at line 57 of file cfile.h.

#define CF_TYPE_VOICE_PERSONAS   14

Definition at line 58 of file cfile.h.

#define CF_TYPE_VOICE_SPECIAL   15

Definition at line 59 of file cfile.h.

#define CF_TYPE_VOICE_TRAINING   16

Definition at line 60 of file cfile.h.

#define CFILE_MEMORY_MAPPED   (1<<0)

Definition at line 90 of file cfile.h.

#define CFILE_NORMAL   0

Definition at line 89 of file cfile.h.

#define CFILE_ROOT_DIRECTORY_LEN   256

Definition at line 110 of file cfile.h.

#define cfopen (   ...)    _cfopen(LOCATION, __VA_ARGS__)

Definition at line 134 of file cfile.h.

#define cfopen_special (   ...)    _cfopen_special(LOCATION, __VA_ARGS__)

Definition at line 140 of file cfile.h.

#define cfread_fix (   file)    (fix)cfread_int(file)

Definition at line 97 of file cfile.h.

#define cfwrite_fix (   i,
  file 
)    cfwrite_int(i,file)

Definition at line 98 of file cfile.h.

Typedef Documentation

typedef struct CFILE CFILE

Function Documentation

CFILE* _cfopen ( const char *  source_file,
int  line,
const char *  filename,
const char *  mode,
int  type = CFILE_NORMAL,
int  dir_type = CF_TYPE_ANY,
bool  localize = false 
)

Definition at line 647 of file cfile.cpp.

CFILE* _cfopen_special ( const char *  source_file,
int  line,
const char *  file_path,
const char *  mode,
const int  size,
const int  offset,
int  dir_type = CF_TYPE_ANY 
)

Definition at line 802 of file cfile.cpp.

int cf_access ( const char *  filename,
int  dir_type,
int  mode 
)

Definition at line 497 of file cfile.cpp.

uint cf_add_chksum_long ( uint  seed,
ubyte buffer,
int  size 
)

Definition at line 1632 of file cfile.cpp.

ushort cf_add_chksum_short ( ushort  seed,
ubyte buffer,
int  size 
)

Definition at line 1614 of file cfile.cpp.

char* cf_add_ext ( const char *  filename,
const char *  ext 
)

Definition at line 458 of file cfile.cpp.

void cf_attrib ( const char *  name,
int  set,
int  clear,
int  type 
)
int cf_chksum_long ( const char *  filename,
uint chksum,
int  max_size = -1,
int  cf_type = CF_TYPE_ANY 
)

Definition at line 1841 of file cfile.cpp.

int cf_chksum_long ( CFILE file,
uint chksum,
int  max_size = -1 
)

Definition at line 1868 of file cfile.cpp.

int cf_chksum_pack ( const char *  filename,
uint chk_long,
bool  full = false 
)

Definition at line 1722 of file cfile.cpp.

int cf_chksum_short ( const char *  filename,
ushort chksum,
int  max_size = -1,
int  cf_type = CF_TYPE_ANY 
)

Definition at line 1791 of file cfile.cpp.

int cf_chksum_short ( CFILE file,
ushort chksum,
int  max_size = -1 
)

Definition at line 1818 of file cfile.cpp.

int cf_delete ( const char *  filename,
int  path_type 
)

Delete the specified file.

Parameters
filenameName of file to delete
path_typePath type (CF_TYPE_xxx)
Returns
0 on failure, 1 on success

Definition at line 483 of file cfile.cpp.

int cf_exists ( const char *  filename,
int  dir_type 
)

Definition at line 514 of file cfile.cpp.

int cf_exists_full ( const char *  filename,
int  dir_type 
)

Definition at line 527 of file cfile.cpp.

int cf_exists_full_ext ( const char *  filename,
int  dir_type,
const int  num_ext,
const char **  ext_list 
)

Definition at line 536 of file cfile.cpp.

int cf_find_file_location ( const char *  filespec,
int  pathtype,
int  max_out,
char *  pack_filename,
int size,
int offset,
bool  localize 
)

Searches for a file.

Note
Follows all rules and precedence and searches CD's and pack files.
Parameters
filespecFilename & extension
pathtypeSee CF_TYPE_ defines in CFILE.H
max_outMaximum string length that should be stuffed into pack_filename
pack_filenameOUTPUT: Absolute path and filename of this file. Could be a packfile or the actual file.
sizeOUTPUT: File size
offsetOUTPUT: Offset into pack file. 0 if not a packfile.
localizeUndertake localization
Returns
If not found returns 0.

Definition at line 839 of file cfilesystem.cpp.

int cf_find_file_location_ext ( const char *  filename,
const int  ext_num,
const char **  ext_list,
int  pathtype,
int  max_out,
char *  pack_filename,
int size,
int offset,
bool  localize 
)

Searches for a file.

Note
Follows all rules and precedence and searches CD's and pack files. Searches all locations in order for first filename using filter list.
This function is exponentially slow, so don't use it unless truely needed
Parameters
filenameFilename & extension
ext_numNumber of extensions to look for
ext_listExtension filter list
pathtypeSee CF_TYPE_ defines in CFILE.H
max_outMaximum string length that should be stuffed into pack_filename
pack_filenameOUTPUT: Absolute path and filename of this file. Could be a packfile or the actual file.
sizeOUTPUT: File size
offsetOUTPUT: Offset into pack file. 0 if not a packfile.
localizeUndertake localization
Returns
If not found returns -1, else returns offset into ext_list.

Definition at line 1050 of file cfilesystem.cpp.

int cf_get_dir_type ( CFILE cfile)

Definition at line 1100 of file cfile.cpp.

int cf_get_file_list ( SCP_vector< SCP_string > &  list,
int  pathtype,
const char *  filter,
int  sort = CF_SORT_NONE,
SCP_vector< file_list_info > *  info = NULL 
)

Definition at line 1417 of file cfilesystem.cpp.

int cf_get_file_list ( int  max,
char **  list,
int  type,
const char *  filter,
int  sort = CF_SORT_NONE,
file_list_info info = NULL 
)

Definition at line 1618 of file cfilesystem.cpp.

int cf_get_file_list_preallocated ( int  max,
char  arr[][MAX_FILENAME_LEN],
char **  list,
int  type,
const char *  filter,
int  sort = CF_SORT_NONE,
file_list_info info = NULL 
)

Definition at line 1817 of file cfilesystem.cpp.

int cf_is_valid ( CFILE cfile)

Definition at line 935 of file cfile.cpp.

int cf_rename ( const char *  old_name,
const char *  name,
int  type = CF_TYPE_ANY 
)

Definition at line 567 of file cfile.cpp.

void* cf_returndata ( CFILE cfile)

Definition at line 1110 of file cfile.cpp.

void cf_set_max_read_len ( CFILE cfile,
size_t  len 
)

Definition at line 1133 of file cfile.cpp.

void cf_set_version ( CFILE cfile,
int  version 
)

Definition at line 1124 of file cfile.cpp.

void cf_sort_filenames ( int  n,
char **  list,
int  sort,
file_list_info info = NULL 
)

Definition at line 115 of file cfilelist.cpp.

void cf_sort_filenames ( SCP_vector< SCP_string > &  list,
int  sort,
SCP_vector< file_list_info > *  info = NULL 
)

Definition at line 29 of file cfilelist.cpp.

int cfclose ( CFILE cfile)

Definition at line 895 of file cfile.cpp.

int cfeof ( CFILE cfile)

Definition at line 69 of file cfilearchive.cpp.

int cfexist ( const char *  filename)
int cfgetc ( CFILE cfile)

Definition at line 1548 of file cfile.cpp.

char* cfgets ( char *  buf,
int  n,
CFILE cfile 
)

Definition at line 1571 of file cfile.cpp.

char* cfgets ( char *  buf,
size_t  n,
CFILE fp 
)
int cfile_chdir ( const char *  dir)

Change to the specified directory.

Parameters
dirDirectory
Return values
0Success
1Failed to change to new directory's drive (Windows only)
2Failed to change to new directory

Definition at line 372 of file cfile.cpp.

int cfile_flush_dir ( int  type)

Definition at line 394 of file cfile.cpp.

int cfile_init ( const char *  exe_dir,
const char *  cdrom_dir 
)

Initialize the cfile system. Called once at application start.

Parameters
exe_dirPath to a file (not a directory)
cdrom_dirPath to a CD drive mount point (may be NULL)
Returns
0 On success
1 On error

Definition at line 183 of file cfile.cpp.

int cfile_pop_dir ( )

Definition at line 381 of file cfile.cpp.

int cfile_push_chdir ( int  type)

Push current directory onto a 'stack' and change to a new directory.

The current directory is pushed onto a 'stack' so that it can be easily restored at a later time. The new directory is derived from type.

Parameters
typepath type (CF_TYPE_xxx)
Return values
-1'Stack' is full
0Success
1Failed to change to new directory's drive (Windows only)
2Failed to change to new directory

Definition at line 342 of file cfile.cpp.

void cfile_refresh ( )

Definition at line 248 of file cfile.cpp.

int cfilelength ( CFILE fp)

Definition at line 1393 of file cfile.cpp.

int cflush ( CFILE cfile)

Definition at line 1895 of file cfile.cpp.

int cfputc ( int  c,
CFILE cfile 
)

Definition at line 1460 of file cfile.cpp.

int cfputs ( const char *  str,
CFILE cfile 
)

Definition at line 1504 of file cfile.cpp.

int cfread ( void buf,
int  elsize,
int  nelem,
CFILE fp 
)

Definition at line 183 of file cfilearchive.cpp.

void cfread_angles ( angles ang,
CFILE file,
int  ver = 0,
angles deflt = NULL 
)

Definition at line 1249 of file cfile.cpp.

char cfread_char ( CFILE file,
int  ver = 0,
char  deflt = 0 
)

Definition at line 1265 of file cfile.cpp.

int cfread_compressed ( void buf,
int  elsize,
int  nelem,
CFILE cfile 
)

Definition at line 385 of file cfilelist.cpp.

float cfread_float ( CFILE file,
int  ver = 0,
float  deflt = 0.0f 
)

Definition at line 1150 of file cfile.cpp.

int cfread_int ( CFILE file,
int  ver = 0,
int  deflt = 0 
)

Definition at line 1164 of file cfile.cpp.

short cfread_short ( CFILE file,
int  ver = 0,
short  deflt = 0 
)

Definition at line 1192 of file cfile.cpp.

void cfread_string ( char *  buf,
int  n,
CFILE file 
)

Definition at line 1278 of file cfile.cpp.

void cfread_string_len ( char *  buf,
int  n,
CFILE file 
)

Read a fixed length string that is not null-terminated, with the length stored in file.

Parameters
bufPre-allocated array to store string
nSize of pre-allocated array
fileFile to read from
Note
Appends NULL character to string (buf)

Definition at line 1291 of file cfile.cpp.

ubyte cfread_ubyte ( CFILE file,
int  ver = 0,
ubyte  deflt = 0 
)

Definition at line 1220 of file cfile.cpp.

uint cfread_uint ( CFILE file,
int  ver = 0,
uint  deflt = 0 
)

Definition at line 1178 of file cfile.cpp.

ushort cfread_ushort ( CFILE file,
int  ver = 0,
ushort  deflt = 0 
)

Definition at line 1206 of file cfile.cpp.

void cfread_vector ( vec3d vec,
CFILE file,
int  ver = 0,
vec3d deflt = NULL 
)

Definition at line 1233 of file cfile.cpp.

int cfseek ( CFILE fp,
int  offset,
int  where 
)

Definition at line 133 of file cfilearchive.cpp.

int cftell ( CFILE fp)

Definition at line 106 of file cfilearchive.cpp.

int cfwrite ( const void buf,
int  elsize,
int  nelem,
CFILE cfile 
)

Definition at line 1414 of file cfile.cpp.

int cfwrite_angles ( angles ang,
CFILE file 
)

Definition at line 1350 of file cfile.cpp.

int cfwrite_char ( char  c,
CFILE file 
)

Definition at line 1361 of file cfile.cpp.

int cfwrite_compressed ( void param_buf,
int  param_elsize,
int  param_nelem,
CFILE cfile 
)

Definition at line 426 of file cfilelist.cpp.

int cfwrite_float ( float  f,
CFILE file 
)

Definition at line 1304 of file cfile.cpp.

int cfwrite_int ( int  i,
CFILE file 
)

Definition at line 1310 of file cfile.cpp.

int cfwrite_short ( short  s,
CFILE file 
)

Definition at line 1322 of file cfile.cpp.

int cfwrite_string ( const char *  buf,
CFILE file 
)

Definition at line 1366 of file cfile.cpp.

int cfwrite_string_len ( const char *  buf,
CFILE file 
)

Write a fixed length string (not including its null terminator), with the length stored in file.

Parameters
bufString to write to file
fileFile to write to

Definition at line 1378 of file cfile.cpp.

int cfwrite_ubyte ( ubyte  u,
CFILE file 
)

Definition at line 1334 of file cfile.cpp.

int cfwrite_uint ( uint  i,
CFILE file 
)

Definition at line 1316 of file cfile.cpp.

int cfwrite_ushort ( ushort  s,
CFILE file 
)

Definition at line 1328 of file cfile.cpp.

int cfwrite_vector ( vec3d vec,
CFILE file 
)

Definition at line 1339 of file cfile.cpp.

CFILE* ctmpfile ( )

Definition at line 844 of file cfile.cpp.

Variable Documentation

char Cfile_root_dir[CFILE_ROOT_DIRECTORY_LEN]

Definition at line 38 of file cfile.cpp.

const char* Get_file_list_child

Definition at line 1361 of file cfilesystem.cpp.

int(* Get_file_list_filter) (const char *filename)

Definition at line 1360 of file cfilesystem.cpp.