vpk loading/models
[csRadar.git] / csRadar.c
index ae383f77e756ac7f5c32c998d7dfcbeab5d6e00f..de19eba919c9411a9f523d53fd010ececf517b82 100644 (file)
--- a/csRadar.c
+++ b/csRadar.c
@@ -3,6 +3,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <math.h>
+#include <time.h>
 
 // CSR lib
 #include "csrTypes.h"
 // Valve formats
 #include "vdf.h"
 #include "vpk.h"
+#include "vfilesys.h"
+
 #include "vmdl.h"
 #include "vmf.h"
 
-#include "vfilesys.h"
 
 // CSR main
 #include "csrDraw.h"
 
 int main( int argc, char *argv[] )
 {
-       vmf_vert *triangles = NULL;
-       vmf_vert oh_yeah_yeah = {0};
-
-       for( int i = 0; i < 22; i ++ )
-       {
-               triangles = csr_sb_reserve( triangles, 3, sizeof( vmf_vert ) );
-               
-               vmf_vert *tri = triangles + csr_sb_count( triangles );
-               
-               tri[0] = oh_yeah_yeah;
-               tri[1] = oh_yeah_yeah;
-               tri[2] = oh_yeah_yeah;
-
-               csr_sb_inc( triangles, 3 );
-       }
-
        if( argc == 2 )
        {
+               fs_set_gameinfo( "/home/harry/SteamLibrary/steamapps/common/Counter-Strike Global Offensive/csgo/gameinfo.txt" );
                
                printf( "read: %s\n", argv[1] );
-               vdf_node *node = vdf_open_file( argv[1] );
+               //vdf_node *node = vdf_open_file( argv[1] );
                
+               vmf_map *map = vmf_init( argv[1], 1 );
                
+               vmf_free( map );
+               fs_exit();
+               
+               /*
                vmf_solid solid_main;
                
                
@@ -62,26 +54,31 @@ int main( int argc, char *argv[] )
                {
                        solidgen_push( &solid_main, brush );
                }
-               
-               vmf_vert *triangles = NULL;
+
+               clock_t t;
+               t = clock();
+               printf("Timer starts\n");
+
+               csr_frag *image = (csr_frag *)csr_malloc( 1024*1024*sizeof(csr_frag) );
+               clear_depth( image, 1024, 1024 );
 
                for( int i = 0; i < csr_sb_count( solid_main.indices )/3; i ++ )
                {
                        u32 * base = solid_main.indices + i*3;
                        
-                       triangles = csr_sb_reserve( triangles, 3, sizeof( vmf_vert ) );
-                       
-                       vmf_vert *tri = triangles + csr_sb_count( triangles );
+                       vmf_vert tri[3];
                        
                        tri[0] = solid_main.verts[ base[0] ];
                        tri[1] = solid_main.verts[ base[1] ];
                        tri[2] = solid_main.verts[ base[2] ];
-
-                       csr_sb_inc( triangles, 3 );
+                       
+                       draw_buffers( image, 1024, 1024, (v4f){ -1000.f, -1000.f, 1000.f, 1000.f }, tri, 1 );
                }
                
-               csr_frag *image = (csr_frag *)csr_malloc( 1024*1024*sizeof(csr_frag) );
-               draw_buffers( image, 1024, 1024, (v4f){ -1000.f, -1000.f, 1000.f, 1000.f }, triangles, csr_sb_count( triangles )/3 );
+               printf("Timer ends \n");
+               t = clock() - t;
+               double time_taken = ((double)t)/CLOCKS_PER_SEC; // calculate the elapsed time
+               printf("Tracing took %f seconds to execute\n", time_taken);
                
                float *rgba_test = (float *)csr_malloc( 1024*1024*sizeof(float)*3 );
                
@@ -96,10 +93,10 @@ int main( int argc, char *argv[] )
                
                free( rgba_test );
                free( image );
-               csr_sb_free( triangles );
                
                solidgen_to_obj( &solid_main, "hello.obj" );
                
                vdf_free_r( node );
+               */
        }
 }