load .ini files as BGAnims
This commit is contained in:
@@ -270,6 +270,14 @@ Actor* ActorUtil::MakeActor( const RageTextureID &ID )
|
||||
CString sDir = Dirname( ID.filename );
|
||||
return LoadFromActorFile( sDir, &xml );
|
||||
}
|
||||
else if( sExt=="ini" )
|
||||
{
|
||||
IniFile ini;
|
||||
BGAnimation *pBGA = new BGAnimation;
|
||||
CString sDir = Dirname( ID.filename );
|
||||
pBGA->LoadFromIni( sDir, ID.filename );
|
||||
return pBGA;
|
||||
}
|
||||
else if( sExt=="actor" )
|
||||
{
|
||||
// TODO: Check for recursive loading
|
||||
|
||||
@@ -106,8 +106,6 @@ void BGAnimation::AddLayersFromAniDir( const CString &_sAniDir, const IniFile& i
|
||||
|
||||
void BGAnimation::LoadFromAniDir( const CString &_sAniDir, bool bGeneric )
|
||||
{
|
||||
Unload();
|
||||
|
||||
if( _sAniDir.empty() )
|
||||
return;
|
||||
|
||||
@@ -115,9 +113,21 @@ void BGAnimation::LoadFromAniDir( const CString &_sAniDir, bool bGeneric )
|
||||
if( sAniDir.Right(1) != "/" )
|
||||
sAniDir += "/";
|
||||
|
||||
CString sPathToIni = sAniDir + "BGAnimation.ini";
|
||||
|
||||
LoadFromIni( sAniDir, sPathToIni, bGeneric );
|
||||
}
|
||||
|
||||
void BGAnimation::LoadFromIni( const CString &_sDir, const CString &sPathToIni, bool bGeneric )
|
||||
{
|
||||
Unload();
|
||||
|
||||
CString sAniDir = _sDir;
|
||||
if( sAniDir.Right(1) != "/" )
|
||||
sAniDir += "/";
|
||||
|
||||
ASSERT_M( IsADirectory(sAniDir), sAniDir + " isn't a directory" );
|
||||
|
||||
CString sPathToIni = sAniDir + "BGAnimation.ini";
|
||||
|
||||
if( DoesFileExist(sPathToIni) )
|
||||
{
|
||||
|
||||
@@ -19,6 +19,7 @@ public:
|
||||
void Unload();
|
||||
|
||||
void LoadFromAniDir( const CString &sAniDir, bool bGeneric=true );
|
||||
void LoadFromIni( const CString &sDir, const CString &sPathToIni, bool bGeneric=true );
|
||||
void LoadFromNode( const CString& sDir, const XNode* pNode );
|
||||
|
||||
protected:
|
||||
|
||||
Reference in New Issue
Block a user