diff --git a/stepmania/src/Character.cpp b/stepmania/src/Character.cpp index 9f4043181c..ebf9d18c24 100644 --- a/stepmania/src/Character.cpp +++ b/stepmania/src/Character.cpp @@ -2,10 +2,13 @@ #include "Character.h" #include "IniFile.h" #include "RageUtil.h" +#include "RageTextureID.h" bool Character::Load( CString sCharDir ) { + m_Preload.UnloadAll(); + // Save character directory if( sCharDir.Right(1) != "/" ) sCharDir += "/"; @@ -33,6 +36,10 @@ bool Character::Load( CString sCharDir ) // get display name (if any) ini.GetValue( "Character", "DisplayName", m_sDisplayName ); + CString sIconPath = GetIconPath(); + if( !sIconPath.empty() ) + m_Preload.Load( sIconPath ); + return true; } diff --git a/stepmania/src/Character.h b/stepmania/src/Character.h index 067214e2f5..dc81a4653d 100644 --- a/stepmania/src/Character.h +++ b/stepmania/src/Character.h @@ -4,6 +4,7 @@ #define Character_H #include "GameConstantsAndTypes.h" +#include "RageTexturePreloader.h" struct lua_State; typedef lua_State Lua; @@ -51,6 +52,7 @@ public: bool m_bUsableInRave; CString m_sAttacks[NUM_ATTACK_LEVELS][NUM_ATTACKS_PER_LEVEL]; + RageTexturePreloader m_Preload; }; #endif