Index: picomodel/pm_md2.c
===================================================================
--- picomodel/pm_md2.c	(Revision 62)
+++ picomodel/pm_md2.c	(Arbeitskopie)
@@ -1,6 +1,6 @@
 /* -----------------------------------------------------------------------------
 
-PicoModel Library 
+PicoModel Library
 
 Copyright (c) 2002, Randy Reddig & seaw0lf
 All rights reserved.
@@ -17,7 +17,7 @@
 
 Neither the names of the copyright holders nor the names of its contributors may
 be used to endorse or promote products derived from this software without
-specific prior written permission. 
+specific prior written permission.
 
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -132,167 +132,167 @@
 float	md2_normals[ MD2_NUMVERTEXNORMALS ][ 3 ] =
 {
 	{ -0.525731f, 0.000000f, 0.850651f },
-	{ -0.442863f, 0.238856f, 0.864188f }, 
-	{ -0.295242f, 0.000000f, 0.955423f }, 
-	{ -0.309017f, 0.500000f, 0.809017f }, 
-	{ -0.162460f, 0.262866f, 0.951056f }, 
+	{ -0.442863f, 0.238856f, 0.864188f },
+	{ -0.295242f, 0.000000f, 0.955423f },
+	{ -0.309017f, 0.500000f, 0.809017f },
+	{ -0.162460f, 0.262866f, 0.951056f },
 	{ 0.000000f, 0.000000f, 1.000000f },
 	{ 0.000000f, 0.850651f, 0.525731f },
 	{ -0.147621f, 0.716567f, 0.681718f },
-	{ 0.147621f, 0.716567f, 0.681718f }, 
-	{ 0.000000f, 0.525731f, 0.850651f }, 
-	{ 0.309017f, 0.500000f, 0.809017f }, 
-	{ 0.525731f, 0.000000f, 0.850651f }, 
-	{ 0.295242f, 0.000000f, 0.955423f }, 
-	{ 0.442863f, 0.238856f, 0.864188f }, 
-	{ 0.162460f, 0.262866f, 0.951056f }, 
-	{ -0.681718f, 0.147621f, 0.716567f }, 
-	{ -0.809017f, 0.309017f, 0.500000f }, 
-	{ -0.587785f, 0.425325f, 0.688191f }, 
-	{ -0.850651f, 0.525731f, 0.000000f }, 
-	{ -0.864188f, 0.442863f, 0.238856f }, 
-	{ -0.716567f, 0.681718f, 0.147621f }, 
-	{ -0.688191f, 0.587785f, 0.425325f }, 
-	{ -0.500000f, 0.809017f, 0.309017f }, 
-	{ -0.238856f, 0.864188f, 0.442863f }, 
-	{ -0.425325f, 0.688191f, 0.587785f }, 
-	{ -0.716567f, 0.681718f, -0.147621f }, 
-	{ -0.500000f, 0.809017f, -0.309017f }, 
-	{ -0.525731f, 0.850651f, 0.000000f }, 
-	{ 0.000000f, 0.850651f, -0.525731f }, 
-	{ -0.238856f, 0.864188f, -0.442863f }, 
-	{ 0.000000f, 0.955423f, -0.295242f }, 
-	{ -0.262866f, 0.951056f, -0.162460f }, 
-	{ 0.000000f, 1.000000f, 0.000000f }, 
-	{ 0.000000f, 0.955423f, 0.295242f }, 
-	{ -0.262866f, 0.951056f, 0.162460f }, 
-	{ 0.238856f, 0.864188f, 0.442863f }, 
-	{ 0.262866f, 0.951056f, 0.162460f }, 
-	{ 0.500000f, 0.809017f, 0.309017f }, 
-	{ 0.238856f, 0.864188f, -0.442863f }, 
-	{ 0.262866f, 0.951056f, -0.162460f }, 
-	{ 0.500000f, 0.809017f, -0.309017f }, 
-	{ 0.850651f, 0.525731f, 0.000000f }, 
-	{ 0.716567f, 0.681718f, 0.147621f }, 
-	{ 0.716567f, 0.681718f, -0.147621f }, 
-	{ 0.525731f, 0.850651f, 0.000000f }, 
-	{ 0.425325f, 0.688191f, 0.587785f }, 
-	{ 0.864188f, 0.442863f, 0.238856f }, 
-	{ 0.688191f, 0.587785f, 0.425325f }, 
-	{ 0.809017f, 0.309017f, 0.500000f }, 
-	{ 0.681718f, 0.147621f, 0.716567f }, 
-	{ 0.587785f, 0.425325f, 0.688191f }, 
-	{ 0.955423f, 0.295242f, 0.000000f }, 
-	{ 1.000000f, 0.000000f, 0.000000f }, 
-	{ 0.951056f, 0.162460f, 0.262866f }, 
-	{ 0.850651f, -0.525731f, 0.000000f }, 
-	{ 0.955423f, -0.295242f, 0.000000f }, 
-	{ 0.864188f, -0.442863f, 0.238856f }, 
-	{ 0.951056f, -0.162460f, 0.262866f }, 
-	{ 0.809017f, -0.309017f, 0.500000f }, 
-	{ 0.681718f, -0.147621f, 0.716567f }, 
-	{ 0.850651f, 0.000000f, 0.525731f }, 
-	{ 0.864188f, 0.442863f, -0.238856f }, 
-	{ 0.809017f, 0.309017f, -0.500000f }, 
-	{ 0.951056f, 0.162460f, -0.262866f }, 
-	{ 0.525731f, 0.000000f, -0.850651f }, 
-	{ 0.681718f, 0.147621f, -0.716567f }, 
-	{ 0.681718f, -0.147621f, -0.716567f }, 
-	{ 0.850651f, 0.000000f, -0.525731f }, 
-	{ 0.809017f, -0.309017f, -0.500000f }, 
-	{ 0.864188f, -0.442863f, -0.238856f }, 
-	{ 0.951056f, -0.162460f, -0.262866f }, 
-	{ 0.147621f, 0.716567f, -0.681718f }, 
-	{ 0.309017f, 0.500000f, -0.809017f }, 
-	{ 0.425325f, 0.688191f, -0.587785f }, 
-	{ 0.442863f, 0.238856f, -0.864188f }, 
-	{ 0.587785f, 0.425325f, -0.688191f }, 
-	{ 0.688191f, 0.587785f, -0.425325f }, 
-	{ -0.147621f, 0.716567f, -0.681718f }, 
-	{ -0.309017f, 0.500000f, -0.809017f }, 
-	{ 0.000000f, 0.525731f, -0.850651f }, 
-	{ -0.525731f, 0.000000f, -0.850651f }, 
-	{ -0.442863f, 0.238856f, -0.864188f }, 
-	{ -0.295242f, 0.000000f, -0.955423f }, 
-	{ -0.162460f, 0.262866f, -0.951056f }, 
-	{ 0.000000f, 0.000000f, -1.000000f }, 
-	{ 0.295242f, 0.000000f, -0.955423f }, 
-	{ 0.162460f, 0.262866f, -0.951056f }, 
-	{ -0.442863f, -0.238856f, -0.864188f }, 
-	{ -0.309017f, -0.500000f, -0.809017f }, 
-	{ -0.162460f, -0.262866f, -0.951056f }, 
-	{ 0.000000f, -0.850651f, -0.525731f }, 
-	{ -0.147621f, -0.716567f, -0.681718f }, 
-	{ 0.147621f, -0.716567f, -0.681718f }, 
-	{ 0.000000f, -0.525731f, -0.850651f }, 
-	{ 0.309017f, -0.500000f, -0.809017f }, 
-	{ 0.442863f, -0.238856f, -0.864188f }, 
-	{ 0.162460f, -0.262866f, -0.951056f }, 
-	{ 0.238856f, -0.864188f, -0.442863f }, 
-	{ 0.500000f, -0.809017f, -0.309017f }, 
-	{ 0.425325f, -0.688191f, -0.587785f }, 
-	{ 0.716567f, -0.681718f, -0.147621f }, 
-	{ 0.688191f, -0.587785f, -0.425325f }, 
-	{ 0.587785f, -0.425325f, -0.688191f }, 
-	{ 0.000000f, -0.955423f, -0.295242f }, 
-	{ 0.000000f, -1.000000f, 0.000000f }, 
-	{ 0.262866f, -0.951056f, -0.162460f }, 
-	{ 0.000000f, -0.850651f, 0.525731f }, 
-	{ 0.000000f, -0.955423f, 0.295242f }, 
-	{ 0.238856f, -0.864188f, 0.442863f }, 
-	{ 0.262866f, -0.951056f, 0.162460f }, 
-	{ 0.500000f, -0.809017f, 0.309017f }, 
-	{ 0.716567f, -0.681718f, 0.147621f }, 
-	{ 0.525731f, -0.850651f, 0.000000f }, 
-	{ -0.238856f, -0.864188f, -0.442863f }, 
-	{ -0.500000f, -0.809017f, -0.309017f }, 
-	{ -0.262866f, -0.951056f, -0.162460f }, 
-	{ -0.850651f, -0.525731f, 0.000000f }, 
-	{ -0.716567f, -0.681718f, -0.147621f }, 
-	{ -0.716567f, -0.681718f, 0.147621f }, 
-	{ -0.525731f, -0.850651f, 0.000000f }, 
-	{ -0.500000f, -0.809017f, 0.309017f }, 
-	{ -0.238856f, -0.864188f, 0.442863f }, 
-	{ -0.262866f, -0.951056f, 0.162460f }, 
-	{ -0.864188f, -0.442863f, 0.238856f }, 
-	{ -0.809017f, -0.309017f, 0.500000f }, 
-	{ -0.688191f, -0.587785f, 0.425325f }, 
-	{ -0.681718f, -0.147621f, 0.716567f }, 
-	{ -0.442863f, -0.238856f, 0.864188f }, 
-	{ -0.587785f, -0.425325f, 0.688191f }, 
-	{ -0.309017f, -0.500000f, 0.809017f }, 
-	{ -0.147621f, -0.716567f, 0.681718f }, 
-	{ -0.425325f, -0.688191f, 0.587785f }, 
-	{ -0.162460f, -0.262866f, 0.951056f }, 
-	{ 0.442863f, -0.238856f, 0.864188f }, 
-	{ 0.162460f, -0.262866f, 0.951056f }, 
-	{ 0.309017f, -0.500000f, 0.809017f }, 
-	{ 0.147621f, -0.716567f, 0.681718f }, 
-	{ 0.000000f, -0.525731f, 0.850651f }, 
-	{ 0.425325f, -0.688191f, 0.587785f }, 
-	{ 0.587785f, -0.425325f, 0.688191f }, 
-	{ 0.688191f, -0.587785f, 0.425325f }, 
-	{ -0.955423f, 0.295242f, 0.000000f }, 
-	{ -0.951056f, 0.162460f, 0.262866f }, 
-	{ -1.000000f, 0.000000f, 0.000000f }, 
-	{ -0.850651f, 0.000000f, 0.525731f }, 
-	{ -0.955423f, -0.295242f, 0.000000f }, 
-	{ -0.951056f, -0.162460f, 0.262866f }, 
-	{ -0.864188f, 0.442863f, -0.238856f }, 
-	{ -0.951056f, 0.162460f, -0.262866f }, 
-	{ -0.809017f, 0.309017f, -0.500000f }, 
+	{ 0.147621f, 0.716567f, 0.681718f },
+	{ 0.000000f, 0.525731f, 0.850651f },
+	{ 0.309017f, 0.500000f, 0.809017f },
+	{ 0.525731f, 0.000000f, 0.850651f },
+	{ 0.295242f, 0.000000f, 0.955423f },
+	{ 0.442863f, 0.238856f, 0.864188f },
+	{ 0.162460f, 0.262866f, 0.951056f },
+	{ -0.681718f, 0.147621f, 0.716567f },
+	{ -0.809017f, 0.309017f, 0.500000f },
+	{ -0.587785f, 0.425325f, 0.688191f },
+	{ -0.850651f, 0.525731f, 0.000000f },
+	{ -0.864188f, 0.442863f, 0.238856f },
+	{ -0.716567f, 0.681718f, 0.147621f },
+	{ -0.688191f, 0.587785f, 0.425325f },
+	{ -0.500000f, 0.809017f, 0.309017f },
+	{ -0.238856f, 0.864188f, 0.442863f },
+	{ -0.425325f, 0.688191f, 0.587785f },
+	{ -0.716567f, 0.681718f, -0.147621f },
+	{ -0.500000f, 0.809017f, -0.309017f },
+	{ -0.525731f, 0.850651f, 0.000000f },
+	{ 0.000000f, 0.850651f, -0.525731f },
+	{ -0.238856f, 0.864188f, -0.442863f },
+	{ 0.000000f, 0.955423f, -0.295242f },
+	{ -0.262866f, 0.951056f, -0.162460f },
+	{ 0.000000f, 1.000000f, 0.000000f },
+	{ 0.000000f, 0.955423f, 0.295242f },
+	{ -0.262866f, 0.951056f, 0.162460f },
+	{ 0.238856f, 0.864188f, 0.442863f },
+	{ 0.262866f, 0.951056f, 0.162460f },
+	{ 0.500000f, 0.809017f, 0.309017f },
+	{ 0.238856f, 0.864188f, -0.442863f },
+	{ 0.262866f, 0.951056f, -0.162460f },
+	{ 0.500000f, 0.809017f, -0.309017f },
+	{ 0.850651f, 0.525731f, 0.000000f },
+	{ 0.716567f, 0.681718f, 0.147621f },
+	{ 0.716567f, 0.681718f, -0.147621f },
+	{ 0.525731f, 0.850651f, 0.000000f },
+	{ 0.425325f, 0.688191f, 0.587785f },
+	{ 0.864188f, 0.442863f, 0.238856f },
+	{ 0.688191f, 0.587785f, 0.425325f },
+	{ 0.809017f, 0.309017f, 0.500000f },
+	{ 0.681718f, 0.147621f, 0.716567f },
+	{ 0.587785f, 0.425325f, 0.688191f },
+	{ 0.955423f, 0.295242f, 0.000000f },
+	{ 1.000000f, 0.000000f, 0.000000f },
+	{ 0.951056f, 0.162460f, 0.262866f },
+	{ 0.850651f, -0.525731f, 0.000000f },
+	{ 0.955423f, -0.295242f, 0.000000f },
+	{ 0.864188f, -0.442863f, 0.238856f },
+	{ 0.951056f, -0.162460f, 0.262866f },
+	{ 0.809017f, -0.309017f, 0.500000f },
+	{ 0.681718f, -0.147621f, 0.716567f },
+	{ 0.850651f, 0.000000f, 0.525731f },
+	{ 0.864188f, 0.442863f, -0.238856f },
+	{ 0.809017f, 0.309017f, -0.500000f },
+	{ 0.951056f, 0.162460f, -0.262866f },
+	{ 0.525731f, 0.000000f, -0.850651f },
+	{ 0.681718f, 0.147621f, -0.716567f },
+	{ 0.681718f, -0.147621f, -0.716567f },
+	{ 0.850651f, 0.000000f, -0.525731f },
+	{ 0.809017f, -0.309017f, -0.500000f },
+	{ 0.864188f, -0.442863f, -0.238856f },
+	{ 0.951056f, -0.162460f, -0.262866f },
+	{ 0.147621f, 0.716567f, -0.681718f },
+	{ 0.309017f, 0.500000f, -0.809017f },
+	{ 0.425325f, 0.688191f, -0.587785f },
+	{ 0.442863f, 0.238856f, -0.864188f },
+	{ 0.587785f, 0.425325f, -0.688191f },
+	{ 0.688191f, 0.587785f, -0.425325f },
+	{ -0.147621f, 0.716567f, -0.681718f },
+	{ -0.309017f, 0.500000f, -0.809017f },
+	{ 0.000000f, 0.525731f, -0.850651f },
+	{ -0.525731f, 0.000000f, -0.850651f },
+	{ -0.442863f, 0.238856f, -0.864188f },
+	{ -0.295242f, 0.000000f, -0.955423f },
+	{ -0.162460f, 0.262866f, -0.951056f },
+	{ 0.000000f, 0.000000f, -1.000000f },
+	{ 0.295242f, 0.000000f, -0.955423f },
+	{ 0.162460f, 0.262866f, -0.951056f },
+	{ -0.442863f, -0.238856f, -0.864188f },
+	{ -0.309017f, -0.500000f, -0.809017f },
+	{ -0.162460f, -0.262866f, -0.951056f },
+	{ 0.000000f, -0.850651f, -0.525731f },
+	{ -0.147621f, -0.716567f, -0.681718f },
+	{ 0.147621f, -0.716567f, -0.681718f },
+	{ 0.000000f, -0.525731f, -0.850651f },
+	{ 0.309017f, -0.500000f, -0.809017f },
+	{ 0.442863f, -0.238856f, -0.864188f },
+	{ 0.162460f, -0.262866f, -0.951056f },
+	{ 0.238856f, -0.864188f, -0.442863f },
+	{ 0.500000f, -0.809017f, -0.309017f },
+	{ 0.425325f, -0.688191f, -0.587785f },
+	{ 0.716567f, -0.681718f, -0.147621f },
+	{ 0.688191f, -0.587785f, -0.425325f },
+	{ 0.587785f, -0.425325f, -0.688191f },
+	{ 0.000000f, -0.955423f, -0.295242f },
+	{ 0.000000f, -1.000000f, 0.000000f },
+	{ 0.262866f, -0.951056f, -0.162460f },
+	{ 0.000000f, -0.850651f, 0.525731f },
+	{ 0.000000f, -0.955423f, 0.295242f },
+	{ 0.238856f, -0.864188f, 0.442863f },
+	{ 0.262866f, -0.951056f, 0.162460f },
+	{ 0.500000f, -0.809017f, 0.309017f },
+	{ 0.716567f, -0.681718f, 0.147621f },
+	{ 0.525731f, -0.850651f, 0.000000f },
+	{ -0.238856f, -0.864188f, -0.442863f },
+	{ -0.500000f, -0.809017f, -0.309017f },
+	{ -0.262866f, -0.951056f, -0.162460f },
+	{ -0.850651f, -0.525731f, 0.000000f },
+	{ -0.716567f, -0.681718f, -0.147621f },
+	{ -0.716567f, -0.681718f, 0.147621f },
+	{ -0.525731f, -0.850651f, 0.000000f },
+	{ -0.500000f, -0.809017f, 0.309017f },
+	{ -0.238856f, -0.864188f, 0.442863f },
+	{ -0.262866f, -0.951056f, 0.162460f },
+	{ -0.864188f, -0.442863f, 0.238856f },
+	{ -0.809017f, -0.309017f, 0.500000f },
+	{ -0.688191f, -0.587785f, 0.425325f },
+	{ -0.681718f, -0.147621f, 0.716567f },
+	{ -0.442863f, -0.238856f, 0.864188f },
+	{ -0.587785f, -0.425325f, 0.688191f },
+	{ -0.309017f, -0.500000f, 0.809017f },
+	{ -0.147621f, -0.716567f, 0.681718f },
+	{ -0.425325f, -0.688191f, 0.587785f },
+	{ -0.162460f, -0.262866f, 0.951056f },
+	{ 0.442863f, -0.238856f, 0.864188f },
+	{ 0.162460f, -0.262866f, 0.951056f },
+	{ 0.309017f, -0.500000f, 0.809017f },
+	{ 0.147621f, -0.716567f, 0.681718f },
+	{ 0.000000f, -0.525731f, 0.850651f },
+	{ 0.425325f, -0.688191f, 0.587785f },
+	{ 0.587785f, -0.425325f, 0.688191f },
+	{ 0.688191f, -0.587785f, 0.425325f },
+	{ -0.955423f, 0.295242f, 0.000000f },
+	{ -0.951056f, 0.162460f, 0.262866f },
+	{ -1.000000f, 0.000000f, 0.000000f },
+	{ -0.850651f, 0.000000f, 0.525731f },
+	{ -0.955423f, -0.295242f, 0.000000f },
+	{ -0.951056f, -0.162460f, 0.262866f },
+	{ -0.864188f, 0.442863f, -0.238856f },
+	{ -0.951056f, 0.162460f, -0.262866f },
+	{ -0.809017f, 0.309017f, -0.500000f },
 	{ -0.864188f, -0.442863f, -0.238856f },
-	{ -0.951056f, -0.162460f, -0.262866f }, 
-	{ -0.809017f, -0.309017f, -0.500000f }, 
-	{ -0.681718f, 0.147621f, -0.716567f }, 
-	{ -0.681718f, -0.147621f, -0.716567f }, 
-	{ -0.850651f, 0.000000f, -0.525731f }, 
-	{ -0.688191f, 0.587785f, -0.425325f }, 
-	{ -0.587785f, 0.425325f, -0.688191f }, 
-	{ -0.425325f, 0.688191f, -0.587785f }, 
-	{ -0.425325f, -0.688191f, -0.587785f }, 
-	{ -0.587785f, -0.425325f, -0.688191f }, 
-	{ -0.688191f, -0.587785f, -0.425325f }, 
+	{ -0.951056f, -0.162460f, -0.262866f },
+	{ -0.809017f, -0.309017f, -0.500000f },
+	{ -0.681718f, 0.147621f, -0.716567f },
+	{ -0.681718f, -0.147621f, -0.716567f },
+	{ -0.850651f, 0.000000f, -0.525731f },
+	{ -0.688191f, 0.587785f, -0.425325f },
+	{ -0.587785f, 0.425325f, -0.688191f },
+	{ -0.425325f, 0.688191f, -0.587785f },
+	{ -0.425325f, -0.688191f, -0.587785f },
+	{ -0.587785f, -0.425325f, -0.688191f },
+	{ -0.688191f, -0.587785f, -0.425325f },
 };
 
 
@@ -308,14 +308,14 @@
 	/* sanity check */
 	if( bufSize < ( sizeof( *md2 ) * 2) )
 		return PICO_PMV_ERROR_SIZE;
-	
+
 	/* set as md2 */
 	md2 = (md2_t*) buffer;
-	
+
 	/* check md2 magic */
-	if( *((int*) md2->magic) != *((int*) MD2_MAGIC) ) 
+	if( *((int*) md2->magic) != *((int*) MD2_MAGIC) )
 		return PICO_PMV_ERROR_IDENT;
-	
+
 	/* check md2 version */
 	if( _pico_little_long( md2->version ) != MD2_VERSION )
 		return PICO_PMV_ERROR_VERSION;
@@ -351,8 +351,8 @@
 	picoVec3_t		xyz, normal;
 	picoVec2_t		st;
 	picoColor_t		color;
-	
 
+
 	/* set as md2 */
 	bb = (picoByte_t*) buffer;
 	md2	= (md2_t*) buffer;
@@ -364,7 +364,7 @@
 		_pico_printf( PICO_ERROR, "%s is not an MD2 File!", fileName );
 		return NULL;
 	}
-	
+
 	// swap md2
 	md2->version = _pico_little_long( md2->version );
 
@@ -392,7 +392,7 @@
 		_pico_printf( PICO_ERROR, "%s has 0 frames!", fileName );
 		return NULL;
 	}
-	
+
 	if( frameNum < 0 || frameNum >= md2->numFrames )
 	{
 		_pico_printf( PICO_ERROR, "Invalid or out-of-range MD2 frame specified" );
@@ -434,10 +434,6 @@
 	// Print out md2 values
 	_pico_printf(PICO_VERBOSE,"Skins: %d  Verts: %d  STs: %d  Triangles: %d  Frames: %d\nSkin Name \"%s\"\n", md2->numSkins, md2->numXYZ, md2->numST, md2->numTris, md2->numFrames, &skinname );
 
-	// detox Skin name
-	_pico_setfext( skinname, "" );
-	_pico_unixify( skinname );
-
 	/* create new pico model */
 	picoModel = PicoNewModel();
 	if( picoModel == NULL )
@@ -452,6 +448,37 @@
 	PicoSetModelName( picoModel, fileName );
 	PicoSetModelFileName( picoModel, fileName );
 
+	for (i = 0; i < md2->numSkins; i++) {
+		char *offsetSkin = (char*) (bb + md2->ofsSkins) + i * MD2_MAX_SKINNAME;
+		/* set Skin Name */
+		strncpy(skinname, offsetSkin, MD2_MAX_SKINNAME);
+
+		/* detox Skin name */
+		if (skinname[0] == '.') {/* special case ufoai skinpath */
+			char path[MD2_MAX_SKINNAME];
+			char skinnameRelative[MD2_MAX_SKINNAME];
+			strncpy(path, fileName, MD2_MAX_SKINNAME);
+			strncpy(skinnameRelative, skinname, MD2_MAX_SKINNAME);
+			_pico_unixify(path);
+			for (j = MD2_MAX_SKINNAME; j--;) {/* skip filename */
+				if (path[j] == '/')
+					break;
+				path[j] = '\0';
+			}
+			snprintf(skinname, MD2_MAX_SKINNAME, "%s%s", path, &skinnameRelative[1]);
+		}
+		_pico_setfext(skinname, "");
+
+		picoShader = PicoNewShader(picoModel);
+		if (picoShader == NULL) {
+			_pico_printf(PICO_ERROR, "Unable to allocate a new model shader");
+			PicoFreeModel(picoModel);
+			return NULL;
+		}
+
+		PicoSetShaderName(picoShader, skinname);
+	}
+
 	// allocate new pico surface
 	picoSurface = PicoNewSurface( picoModel );
 	if( picoSurface == NULL )
