fixed heap-use-after-free in solidgen
[csRadar.git] / csrDraw.h
index 14c91c23fd1f1504902f5eeb1f7429239a7e84d2..f2b007fdd92bd13b0f1b65defa3602916e92fe54 100644 (file)
--- a/csrDraw.h
+++ b/csrDraw.h
@@ -2,6 +2,25 @@ typedef struct csr_frag csr_frag;
 typedef struct csr_target csr_target;
 typedef struct csr_filter csr_filter;
 
+// MSAA patterns
+v2f csr_msaa_1[] =
+{
+       {0.f, 0.f}
+};
+
+v2f csr_msaa_2x2[] =
+{
+       {  0.25f,  0.25f },
+       {  0.25f, -0.25f },
+       { -0.25f, -0.25f },
+       { -0.25f,  0.25f }
+};
+
+v2f csr_msaa_2x2rgss[] =
+{
+
+};
+
 struct csr_frag
 {      
        v3f co;
@@ -202,6 +221,8 @@ void csr_draw( csr_target *rt, vmf_vert *triangles, u32 triangle_count, m4x3f tr
 
        // Derive normal matrix
        m4x3_to_3x3( transform, normal );
+       
+       // NOTE: This isn't strictly necessary since CS:GO only uses uniform scaling.
        m3x3_inv_transpose( normal, normal );
 
        for( u32 i = 0; i < triangle_count; i ++ )
@@ -263,6 +284,7 @@ void draw_vmf_group( csr_target *rt, vmf_map *map, vdf_node *root, csr_filter *f
                        if( filter_visgroups && !vmf_visgroup_match( brush, group_id ) )
                                continue;
                        
+                       // TODO: heap-use-after-free
                        solidgen_push( &solid, brush );
                }
        }