de19eba919c9411a9f523d53fd010ececf517b82
[csRadar.git] / csRadar.c
1 #include <stdint.h>
2 #include <stdlib.h>
3 #include <stdio.h>
4 #include <string.h>
5 #include <math.h>
6 #include <time.h>
7
8 // CSR lib
9 #include "csrTypes.h"
10 #include "csrMath.h"
11 #include "csrMem.h"
12 #include "csrIO.h"
13 #include "csrComb.h"
14
15 // Valve formats
16 #include "vdf.h"
17 #include "vpk.h"
18 #include "vfilesys.h"
19
20 #include "vmdl.h"
21 #include "vmf.h"
22
23
24 // CSR main
25 #include "csrDraw.h"
26 #include "csr32f.h"
27
28
29 //#include "stretchy_buffer.h"
30
31 int main( int argc, char *argv[] )
32 {
33 if( argc == 2 )
34 {
35 fs_set_gameinfo( "/home/harry/SteamLibrary/steamapps/common/Counter-Strike Global Offensive/csgo/gameinfo.txt" );
36
37 printf( "read: %s\n", argv[1] );
38 //vdf_node *node = vdf_open_file( argv[1] );
39
40 vmf_map *map = vmf_init( argv[1], 1 );
41
42 vmf_free( map );
43 fs_exit();
44
45 /*
46 vmf_solid solid_main;
47
48
49 solidgen_ctx_init( &solid_main );
50
51 vdf_node *world = vdf_next( node, "world", NULL );
52
53 vdf_foreach( world, "solid", brush )
54 {
55 solidgen_push( &solid_main, brush );
56 }
57
58 clock_t t;
59 t = clock();
60 printf("Timer starts\n");
61
62 csr_frag *image = (csr_frag *)csr_malloc( 1024*1024*sizeof(csr_frag) );
63 clear_depth( image, 1024, 1024 );
64
65 for( int i = 0; i < csr_sb_count( solid_main.indices )/3; i ++ )
66 {
67 u32 * base = solid_main.indices + i*3;
68
69 vmf_vert tri[3];
70
71 tri[0] = solid_main.verts[ base[0] ];
72 tri[1] = solid_main.verts[ base[1] ];
73 tri[2] = solid_main.verts[ base[2] ];
74
75 draw_buffers( image, 1024, 1024, (v4f){ -1000.f, -1000.f, 1000.f, 1000.f }, tri, 1 );
76 }
77
78 printf("Timer ends \n");
79 t = clock() - t;
80 double time_taken = ((double)t)/CLOCKS_PER_SEC; // calculate the elapsed time
81 printf("Tracing took %f seconds to execute\n", time_taken);
82
83 float *rgba_test = (float *)csr_malloc( 1024*1024*sizeof(float)*3 );
84
85 for( int i = 0; i < 1024*1024; i ++ )
86 {
87 rgba_test[i*3+0] = image[i].qa;
88 rgba_test[i*3+1] = image[i].qb;
89 rgba_test[i*3+2] = image[i].depth;
90 }
91
92 csr_32f_write( "hello.pfm", 1024, 1024, rgba_test );
93
94 free( rgba_test );
95 free( image );
96
97 solidgen_to_obj( &solid_main, "hello.obj" );
98
99 vdf_free_r( node );
100 */
101 }
102 }