]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - libs/picomodel/pm_md2.c
picomodel: white default color of fm, md2 (was one white and rest black)
[xonotic/netradiant.git] / libs / picomodel / pm_md2.c
index 28cf384e965c918366e0e749fe0f25d3e97cad66..82975b887ff60213bc035c0543db805b2c1ac668 100644 (file)
    Nurail: Used pm_md3.c (Randy Reddig) as a template.
  */
 
-
-/* marker */
-#define PM_MD2_C
-
 /* dependencies */
 #include "picointernal.h"
-
+#include "bytebool.h"
 
 /* md2 model format */
-#define MD2_MAGIC               "IDP2"
-#define MD2_VERSION             8
+const char *MD2_MAGIC             = "IDP2";
+const int MD2_VERSION             = 8;
 
-#define MD2_NUMVERTEXNORMALS    162
-#define MD2_MAX_SKINNAME        64
-#define MD2_MAX_TRIANGLES       4096
-#define MD2_MAX_VERTS           2048
-#define MD2_MAX_FRAMES          512
-#define MD2_MAX_MD2SKINS        32
-#define MD2_MAX_SKINNAME        64
+#define MD2_NUMVERTEXNORMALS 162
 
-#ifndef byte
-       #define byte unsigned char
-#endif
+const int MD2_MAX_TRIANGLES       = 4096;
+const int MD2_MAX_VERTS           = 2048;
+const int MD2_MAX_FRAMES          = 512;
+const int MD2_MAX_MD2SKINS        = 32;
+const int MD2_MAX_SKINNAME        = 64;
 
 typedef struct index_LUT_s
 {
@@ -347,7 +339,6 @@ static picoModel_t *_md2_load( PM_PARAMS_LOAD ){
        picoShader_t    *picoShader;
        picoVec3_t xyz, normal;
        picoVec2_t st;
-       picoColor_t color;
 
 
        /* set as md2 */
@@ -592,6 +583,9 @@ static picoModel_t *_md2_load( PM_PARAMS_LOAD ){
                st[ 0 ] =  ( ( texCoord[p_index_LUT[i].ST].s ) / ( (float)md2->skinWidth ) );
                st[ 1 ] =  ( texCoord[p_index_LUT[i].ST].t / ( (float)md2->skinHeight ) );
                PicoSetSurfaceST( picoSurface, 0, i, st );
+
+               /* set color */
+               PicoSetSurfaceColor( picoSurface, 0, i, picoColor_white );
        }
 
        if ( dups ) {
@@ -614,12 +608,12 @@ static picoModel_t *_md2_load( PM_PARAMS_LOAD ){
                        st[ 0 ] =  ( ( texCoord[p_index_LUT_DUPS[i].ST].s ) / ( (float)md2->skinWidth ) );
                        st[ 1 ] =  ( texCoord[p_index_LUT_DUPS[i].ST].t / ( (float)md2->skinHeight ) );
                        PicoSetSurfaceST( picoSurface, 0, i + md2->numXYZ, st );
+
+                       /* set color */
+                       PicoSetSurfaceColor( picoSurface, 0, i + md2->numXYZ, picoColor_white );
                }
        }
 
-       /* set color */
-       PicoSetSurfaceColor( picoSurface, 0, 0, color );
-
        // Free up malloc'ed LL entries
        for ( i = 0; i < md2->numXYZ; i++ )
        {