diff --git a/code/tiki/tiki_shared.h b/code/tiki/tiki_shared.h index 39f8df0b..ca9126db 100644 --- a/code/tiki/tiki_shared.h +++ b/code/tiki/tiki_shared.h @@ -267,6 +267,7 @@ typedef struct skelHeaderGame_s { struct lodControl_s *pLOD; int numMorphTargets; char *pMorphTargets; + float scale; } skelHeaderGame_t; typedef struct boneData_s { diff --git a/code/tiki/tiki_skel.cpp b/code/tiki/tiki_skel.cpp index 6fb825e9..babcab57 100644 --- a/code/tiki/tiki_skel.cpp +++ b/code/tiki/tiki_skel.cpp @@ -236,6 +236,16 @@ void TIKI_CacheFileSkel(skelHeader_t *pHeader, skelcache_t *cache, int length) byte *ptr = start_ptr + sizeof(skelHeaderGame_t); pSkel->version = pHeader->version; + + // + // Added in 2.0 + // + if (pHeader->version >= TIKI_SKD_HEADER_VERSION) { + pSkel->scale = pHeader->scale * 0.52; + } else { + pSkel->scale = 0.52; + } + pSkel->numSurfaces = pHeader->numSurfaces; pSkel->numBones = pHeader->numBones; pSkel->pSurfaces = (skelSurfaceGame_t *)ptr;