mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-07-26 23:51:58 +00:00
ran everything though mark's newline stomper.
This was SVN commit r322.
This commit is contained in:
@@ -1,67 +1,67 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Name: SkeletonAnimManager.cpp
|
||||
// Author: Rich Cross
|
||||
// Contact: rich@wildfiregames.com
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "res/res.h"
|
||||
#include "Model.h"
|
||||
#include "SkeletonAnimManager.h"
|
||||
#include <algorithm>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// CSkeletonAnimManager constructor
|
||||
CSkeletonAnimManager::CSkeletonAnimManager()
|
||||
{
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// CSkeletonAnimManager destructor
|
||||
CSkeletonAnimManager::~CSkeletonAnimManager()
|
||||
{
|
||||
typedef std::map<CStr,CSkeletonAnimDef*>::iterator Iter;
|
||||
for (Iter i=m_Animations.begin();i!=m_Animations.end();++i) {
|
||||
delete i->second;
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// GetAnimation: return a given animation by filename; return null if filename
|
||||
// doesn't refer to valid animation file
|
||||
CSkeletonAnimDef* CSkeletonAnimManager::GetAnimation(const char* filename)
|
||||
{
|
||||
// already loaded?
|
||||
CStr fname(filename);
|
||||
std::map<CStr,CSkeletonAnimDef*>::iterator iter=m_Animations.find(fname);
|
||||
if (iter!=m_Animations.end()) {
|
||||
// yes - return it
|
||||
return iter->second;
|
||||
}
|
||||
|
||||
// already failed to load?
|
||||
std::set<CStr>::iterator setiter=m_BadAnimationFiles.find(fname);
|
||||
if (setiter!=m_BadAnimationFiles.end()) {
|
||||
// yes - return null
|
||||
return 0;
|
||||
}
|
||||
|
||||
// try and load it now
|
||||
CSkeletonAnimDef* def;
|
||||
try {
|
||||
def=CSkeletonAnimDef::Load(filename);
|
||||
} catch (...) {
|
||||
def=0;
|
||||
}
|
||||
|
||||
if (!def) {
|
||||
// add this file as bad
|
||||
m_BadAnimationFiles.insert(fname);
|
||||
return 0;
|
||||
} else {
|
||||
// add mapping for this file
|
||||
m_Animations[fname]=def;
|
||||
return def;
|
||||
}
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Name: SkeletonAnimManager.cpp
|
||||
// Author: Rich Cross
|
||||
// Contact: rich@wildfiregames.com
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "res/res.h"
|
||||
#include "Model.h"
|
||||
#include "SkeletonAnimManager.h"
|
||||
#include <algorithm>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// CSkeletonAnimManager constructor
|
||||
CSkeletonAnimManager::CSkeletonAnimManager()
|
||||
{
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// CSkeletonAnimManager destructor
|
||||
CSkeletonAnimManager::~CSkeletonAnimManager()
|
||||
{
|
||||
typedef std::map<CStr,CSkeletonAnimDef*>::iterator Iter;
|
||||
for (Iter i=m_Animations.begin();i!=m_Animations.end();++i) {
|
||||
delete i->second;
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// GetAnimation: return a given animation by filename; return null if filename
|
||||
// doesn't refer to valid animation file
|
||||
CSkeletonAnimDef* CSkeletonAnimManager::GetAnimation(const char* filename)
|
||||
{
|
||||
// already loaded?
|
||||
CStr fname(filename);
|
||||
std::map<CStr,CSkeletonAnimDef*>::iterator iter=m_Animations.find(fname);
|
||||
if (iter!=m_Animations.end()) {
|
||||
// yes - return it
|
||||
return iter->second;
|
||||
}
|
||||
|
||||
// already failed to load?
|
||||
std::set<CStr>::iterator setiter=m_BadAnimationFiles.find(fname);
|
||||
if (setiter!=m_BadAnimationFiles.end()) {
|
||||
// yes - return null
|
||||
return 0;
|
||||
}
|
||||
|
||||
// try and load it now
|
||||
CSkeletonAnimDef* def;
|
||||
try {
|
||||
def=CSkeletonAnimDef::Load(filename);
|
||||
} catch (...) {
|
||||
def=0;
|
||||
}
|
||||
|
||||
if (!def) {
|
||||
// add this file as bad
|
||||
m_BadAnimationFiles.insert(fname);
|
||||
return 0;
|
||||
} else {
|
||||
// add mapping for this file
|
||||
m_Animations[fname]=def;
|
||||
return def;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user