texture loading
[convexer.git] / cxr / cxr_valve_bin.h
index b11f71f5d7f1cd00b067fcd9a4af5851d3b0828e..8d0bf9c33c6702daa9ee5c5c7f0a91813c3b4f9e 100644 (file)
@@ -40,6 +40,7 @@ typedef struct valve_material valve_material;
 CXR_API i32 cxr_fs_set_gameinfo( const char *path ); /* Setup system */
 CXR_API void cxr_fs_exit(void);                       /* Clean up */
 CXR_API void *cxr_fs_get( const char *path, i32 stringbuffer ); /* Get a file */
+CXR_API void cxr_fs_free( void *data );
 CXR_API i32 cxr_fs_find( const char *path, fs_locator *locator );
 
 CXR_API valve_model *valve_load_model( const char *relpath );
@@ -997,6 +998,11 @@ CXR_API i32 cxr_fs_find( const char *path, fs_locator *locator )
        return 0;
 }
 
+CXR_API void cxr_fs_free( void *data )
+{
+   free( data );
+}
+
 CXR_API void *cxr_fs_get( const char *path, i32 stringbuffer )
 {
        valve_file_system *fs = &fs_global;
@@ -1711,9 +1717,12 @@ static char *valve_texture_path( const char *path )
    if( !path )
       return NULL;
 
-   char *buf = cxr_str_clone( path, 4 );
-
+   char *buf = 
+      malloc( strlen( path ) + strlen(".vtf") + strlen("materials/") +1 );
+   strcpy( buf, "materials/" );
+   strcat( buf, path );
    strcat( buf, ".vtf" );
+
    cxr_unixpath( buf );
    cxr_lowercase( buf );