#ifndef __ANIMATION_CACHE_H
#define __ANIMATION_CACHE_H

#include "Overhead Types.h"

#define MAX_CACHE_SIZE		20
//#define MIN_CACHE_SIZE		2
#define MIN_CACHE_SIZE		4


typedef struct
{
	UINT16	*usCachedSurfaces;
	INT16		*sCacheHits;
	UINT8		ubCacheSize;

} AnimationSurfaceCacheType;

extern UINT32 guiCacheSize;

BOOLEAN GetCachedAnimationSurface( SoldierID usSoldierID, AnimationSurfaceCacheType *pAnimCache, UINT16 usSurfaceIndex, UINT16 usCurrentAnimation );
BOOLEAN InitAnimationCache( SoldierID usSoldierID, AnimationSurfaceCacheType *pAnimCache );
void DeleteAnimationCache( SoldierID usSoldierID, AnimationSurfaceCacheType *pAnimCache );
void DetermineOptimumAnimationCacheSize( );
void UnLoadCachedAnimationSurfaces( SoldierID usSoldierID, AnimationSurfaceCacheType *pAnimCache );



#endif
