revised filtering & api
[csRadar.git] / csRadar.c
index 98c57593d5252fede27c55603f98e9f59cdd3409..909a645b5ebe00db26268a61709155a3d62c5c9d 100644 (file)
--- a/csRadar.c
+++ b/csRadar.c
@@ -20,7 +20,6 @@
 #include "vmdl.h"
 #include "vmf.h"
 
-
 // CSR main
 #include "csrDraw.h"
 #include "csr32f.h"
@@ -39,16 +38,24 @@ int main( int argc, char *argv[] )
                
                vmf_map *map = vmf_init( argv[1], 1 );
                
-               // TODO: Make init/free codes
-               csr_target target = 
+               csr_target target;
+               
+               csr_create_target( &target, 1024, 1024, (v4f){ -1000.f, -1000.f, 1000.f, 1000.f } );
+               csr_rt_clear( &target );
+               
+               csr_filter filter_layout =
                {
-                       .x = 1024, .y = 1024,
-                       .fragments = (csr_frag *)csr_malloc( 1024*1024*sizeof(csr_frag) ),
-                       .bounds = { -1000.f, -1000.f, 1000.f, 1000.f }
+                       .classname = NULL,
+                       .visgroup = "tar_layout"
                };
-               csr_rt_clear( &target );
                
-               draw_vmf_group( &target, map, map->root, "tar_layout", NULL, NULL );
+               csr_filter filter_buyzone =
+               {
+                       .classname = "func_buyzone",
+                       .visgroup = NULL
+               };
+               
+               draw_vmf_group( &target, map, map->root, &filter_buyzone, NULL, NULL );
                
                float *rgba_test = (float *)csr_malloc( 1024*1024*sizeof(float)*3 );
                
@@ -67,7 +74,8 @@ int main( int argc, char *argv[] )
                
                csr_32f_write( "hello.pfm", 1024, 1024, rgba_test );
                
-               free( target.fragments );
+               csr_rt_free( &target );
+               
                free( rgba_test );
                vmf_free( map );
                fs_exit();