]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - libs/picomodel/pm_fm.c
fix some strncpy use
[xonotic/netradiant.git] / libs / picomodel / pm_fm.c
index eefee2e7d64f38377d3b714fbe7afbfc2809c8d4..a4b8a11bd71a0bdec84336b0fc89ecc2aec04166 100644 (file)
@@ -36,9 +36,6 @@
    Nurail: Used pm_md3.c (Randy Reddig) as a template.
  */
 
-/* marker */
-#define PM_FM_C
-
 /* dependencies */
 #include "pm_fm.h"
 
@@ -201,7 +198,8 @@ static picoModel_t *_fm_load( PM_PARAMS_LOAD ){
 
        fm_vert_normal_t    *vert;
 
-       char skinname[FM_SKINPATHSIZE];
+       char skinname[FM_SKINPATHSIZE + 1];
+       skinname[FM_SKINPATHSIZE] = '\0';
        fm_t fm;
        fm_header_t     *fm_head;
        fm_st_t         *texCoord;
@@ -215,7 +213,6 @@ static picoModel_t *_fm_load( PM_PARAMS_LOAD ){
        picoShader_t    *picoShader;
        picoVec3_t xyz, normal;
        picoVec2_t st;
-       picoColor_t color;
 
 
        bb0 = bb = (picoByte_t*) _pico_alloc( bufSize );
@@ -378,7 +375,7 @@ static picoModel_t *_fm_load( PM_PARAMS_LOAD ){
 #endif
 
        // detox Skin name
-       _pico_setfext( skinname, "" );
+       _pico_setfext( skinname, NULL );
        _pico_unixify( skinname );
 
        /* create new pico model */
@@ -590,6 +587,9 @@ static picoModel_t *_fm_load( PM_PARAMS_LOAD ){
                st[ 0 ] =  ( ( texCoord[p_index_LUT[i].ST].s ) / ( (float)fm_head->skinWidth ) );
                st[ 1 ] =  ( texCoord[p_index_LUT[i].ST].t / ( (float)fm_head->skinHeight ) );
                PicoSetSurfaceST( picoSurface, 0, i, st );
+
+               /* set color */
+               PicoSetSurfaceColor( picoSurface, 0, i, picoColor_white );
        }
 
        if ( dups ) {
@@ -612,12 +612,12 @@ static picoModel_t *_fm_load( PM_PARAMS_LOAD ){
                        st[ 0 ] =  ( ( texCoord[p_index_LUT_DUPS[i].ST].s ) / ( (float)fm_head->skinWidth ) );
                        st[ 1 ] =  ( texCoord[p_index_LUT_DUPS[i].ST].t / ( (float)fm_head->skinHeight ) );
                        PicoSetSurfaceST( picoSurface, 0, i + fm_head->numXYZ, st );
+
+                       /* set color */
+                       PicoSetSurfaceColor( picoSurface, 0, i + fm_head->numXYZ, picoColor_white );
                }
        }
 
-       /* set color */
-       PicoSetSurfaceColor( picoSurface, 0, 0, color );
-
        // Free up malloc'ed LL entries
        for ( i = 0; i < fm_head->numXYZ; i++ )
        {