- _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 );
+ _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 );
+
+ // relative texture path - allows moving of models in game dir structure without changing the skinpath
+ // e.g. used in ufo:ai
+ if (skinname[0] == '.') {
+ strncpy(path, fileName, MD2_MAX_SKINNAME);
+ for (i = MD2_MAX_SKINNAME; i--;) {
+ // skip filename
+ if (path[i] == '/' || path[i] == '\\')
+ break;
+ path[i] = '\0';
+ }
+ strncat(path, &skinname[1], MD2_MAX_SKINNAME);
+ strncpy(skinname, path, MD2_MAX_SKINNAME);