]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - libs/picomodel/picointernal.h
add IQM format support into lib/picomodel
[xonotic/netradiant.git] / libs / picomodel / picointernal.h
index 12b8cd7c1ef673eda1bdf71f039b5e0435be7c14..98b6cf8f1cd0ff1c7f20766a576c2215dd0b9c67 100644 (file)
@@ -38,6 +38,8 @@
 #ifndef PICOINTERNAL_H
 #define PICOINTERNAL_H
 
+#include "globaldefs.h"
+
 #ifdef __cplusplus
 extern "C"
 {
@@ -55,8 +57,8 @@ extern "C"
 #include "picomodel.h"
 
 
-/* os dependant replacements */
-#if WIN32 || _WIN32
+/* os dependent replacements */
+#if GDEF_OS_WINDOWS
        #define _pico_stricmp stricmp
        #define _pico_strnicmp strnicmp
 #else
@@ -75,25 +77,31 @@ extern "C"
 #define PICO_IOEOF  1
 #define PICO_IOERR  2
 
+extern const picoColor_t picoColor_white;
+
 /* types */
+#ifndef byte
+       typedef unsigned char byte;
+#endif
+
 typedef struct picoParser_s
 {
-       char    *buffer;
+       const char *buffer;
        int bufSize;
-       char    *token;
+       char *token;
        int tokenSize;
        int tokenMax;
-       char    *cursor;
-       char    *max;
+       const char *cursor;
+       const char *max;
        int curLine;
 }
 picoParser_t;
 
 typedef struct picoMemStream_s
 {
-       picoByte_t  *buffer;
+       const picoByte_t *buffer;
        int bufSize;
-       picoByte_t  *curPos;
+       const picoByte_t *curPos;
        int flag;
 }
 picoMemStream_t;
@@ -104,7 +112,7 @@ extern const picoModule_t   *picoModules[];
 
 extern void                 *( *_pico_ptr_malloc )( size_t );
 extern void ( *_pico_ptr_free )( void* );
-extern void ( *_pico_ptr_load_file )( char*, unsigned char**, int* );
+extern void ( *_pico_ptr_load_file )( const char*, unsigned char**, int* );
 extern void ( *_pico_ptr_free_file )( void* );
 extern void ( *_pico_ptr_print )( int, const char* );
 
@@ -116,25 +124,27 @@ extern void ( *_pico_ptr_print )( int, const char* );
 void            *_pico_alloc( size_t size );
 void            *_pico_calloc( size_t num, size_t size );
 void            *_pico_realloc( void **ptr, size_t oldSize, size_t newSize );
-char            *_pico_clone_alloc( char *str, int size );
+char            *_pico_clone_alloc( const char *str );
 void            _pico_free( void *ptr );
 
 /* files */
-void            _pico_load_file( char *name, unsigned char **buffer, int *bufSize );
+void            _pico_load_file( const char *name, unsigned char **buffer, int *bufSize );
 void            _pico_free_file( void *buffer );
 
 /* strings */
+void            _pico_first_token( char *str );
 char            *_pico_strltrim( char *str );
 char            *_pico_strrtrim( char *str );
 int             _pico_strchcount( char *str, int ch );
 void            _pico_printf( int level, const char *format, ... );
-char            *_pico_stristr( char *str, const char *substr );
+const char      *_pico_stristr( const char *str, const char *substr );
 void            _pico_unixify( char *path );
 int             _pico_nofname( const char *path, char *dest, int destSize );
-char            *_pico_nopath( const char *path );
+const char      *_pico_nopath( const char *path );
 char            *_pico_setfext( char *path, const char *ext );
 int             _pico_getline( char *buf, int bufsize, char *dest, int destsize );
 char            *_pico_strlwr( char *str );
+void            _pico_deduce_shadernames( picoModel_t *model );
 
 /* vectors */
 void            _pico_zero_bounds( picoVec3_t mins, picoVec3_t maxs );
@@ -145,7 +155,7 @@ void            _pico_zero_vec4( picoVec4_t vec );
 void            _pico_set_vec( picoVec3_t v, float a, float b, float c );
 void            _pico_set_vec4( picoVec4_t v, float a, float b, float c, float d );
 void            _pico_set_color( picoColor_t c, int r, int g, int b, int a );
-void            _pico_copy_color( picoColor_t src, picoColor_t dest );
+void            _pico_copy_color( const picoColor_t src, picoColor_t dest );
 void            _pico_copy_vec( picoVec3_t src, picoVec3_t dest );
 void            _pico_copy_vec2( picoVec2_t src, picoVec2_t dest );
 picoVec_t       _pico_normalize_vec( picoVec3_t vec );
@@ -167,7 +177,7 @@ short           _pico_little_short( short src );
 float           _pico_little_float( float src );
 
 /* pico ascii parser */
-picoParser_t    *_pico_new_parser( picoByte_t *buffer, int bufSize );
+picoParser_t    *_pico_new_parser( const picoByte_t *buffer, int bufSize );
 void            _pico_free_parser( picoParser_t *p );
 int             _pico_parse_ex( picoParser_t *p, int allowLFs, int handleQuoted );
 char            *_pico_parse_first( picoParser_t *p );
@@ -188,7 +198,7 @@ int             _pico_parse_vec4( picoParser_t *p, picoVec4_t out );
 int             _pico_parse_vec4_def( picoParser_t *p, picoVec4_t out, picoVec4_t def );
 
 /* pico memory stream */
-picoMemStream_t *_pico_new_memstream( picoByte_t *buffer, int bufSize );
+picoMemStream_t *_pico_new_memstream( const picoByte_t *buffer, int bufSize );
 void            _pico_free_memstream( picoMemStream_t *s );
 int             _pico_memstream_read( picoMemStream_t *s, void *buffer, int len );
 int             _pico_memstream_getc( picoMemStream_t *s );