CPlayerProgress -> CPlayerProfile
parent
02c24fbf27
commit
7dc3e90e41
|
@ -170,7 +170,7 @@ set(BASE_SOURCES
|
||||||
object/object_manager.cpp
|
object/object_manager.cpp
|
||||||
object/old_object.cpp
|
object/old_object.cpp
|
||||||
object/old_object_interface.cpp
|
object/old_object_interface.cpp
|
||||||
object/player_progress.cpp
|
object/player_profile.cpp
|
||||||
object/robotmain.cpp
|
object/robotmain.cpp
|
||||||
object/scene_conditions.cpp
|
object/scene_conditions.cpp
|
||||||
object/task/task.cpp
|
object/task/task.cpp
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
#include "object/player_progress.h"
|
#include "object/player_profile.h"
|
||||||
|
|
||||||
#include "common/logger.h"
|
#include "common/logger.h"
|
||||||
#include "common/make_unique.h"
|
#include "common/make_unique.h"
|
||||||
|
@ -72,7 +72,7 @@ void PlayerApperance::DefPerso()
|
||||||
this->colorBand.a = 0.0f;
|
this->colorBand.a = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
CPlayerProgress::CPlayerProgress(std::string playerName)
|
CPlayerProfile::CPlayerProfile(std::string playerName)
|
||||||
{
|
{
|
||||||
m_playerName = playerName;
|
m_playerName = playerName;
|
||||||
GetConfigFile().SetStringProperty("Gamer", "LastName", m_playerName);
|
GetConfigFile().SetStringProperty("Gamer", "LastName", m_playerName);
|
||||||
|
@ -92,7 +92,7 @@ CPlayerProgress::CPlayerProgress(std::string playerName)
|
||||||
LoadApperance();
|
LoadApperance();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CPlayerProgress::GetLastName()
|
std::string CPlayerProfile::GetLastName()
|
||||||
{
|
{
|
||||||
std::string name;
|
std::string name;
|
||||||
|
|
||||||
|
@ -102,47 +102,47 @@ std::string CPlayerProgress::GetLastName()
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
CPlayerProgress::~CPlayerProgress()
|
CPlayerProfile::~CPlayerProfile()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CPlayerProgress::Delete()
|
bool CPlayerProfile::Delete()
|
||||||
{
|
{
|
||||||
return CResourceManager::RemoveDirectory(GetSaveDir());
|
return CResourceManager::RemoveDirectory(GetSaveDir());
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CPlayerProgress::GetName()
|
std::string CPlayerProfile::GetName()
|
||||||
{
|
{
|
||||||
return m_playerName;
|
return m_playerName;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CPlayerProgress::GetSaveDir()
|
std::string CPlayerProfile::GetSaveDir()
|
||||||
{
|
{
|
||||||
return std::string(CRobotMain::GetInstancePointer()->GetSavegameDir()) + "/" + m_playerName;
|
return std::string(CRobotMain::GetInstancePointer()->GetSavegameDir()) + "/" + m_playerName;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string CPlayerProgress::GetSaveFile(std::string filename)
|
std::string CPlayerProfile::GetSaveFile(std::string filename)
|
||||||
{
|
{
|
||||||
return GetSaveDir() + "/" + filename;
|
return GetSaveDir() + "/" + filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FINISHED LEVELS
|
// FINISHED LEVELS
|
||||||
|
|
||||||
void CPlayerProgress::IncrementLevelTryCount(LevelCategory cat, int chap, int rank)
|
void CPlayerProfile::IncrementLevelTryCount(LevelCategory cat, int chap, int rank)
|
||||||
{
|
{
|
||||||
m_levelInfo[cat][chap][rank].numTry ++;
|
m_levelInfo[cat][chap][rank].numTry ++;
|
||||||
SaveFinishedLevels(cat);
|
SaveFinishedLevels(cat);
|
||||||
}
|
}
|
||||||
|
|
||||||
int CPlayerProgress::GetLevelTryCount(LevelCategory cat, int chap, int rank)
|
int CPlayerProfile::GetLevelTryCount(LevelCategory cat, int chap, int rank)
|
||||||
{
|
{
|
||||||
if(!m_levelInfoLoaded[cat])
|
if(!m_levelInfoLoaded[cat])
|
||||||
LoadFinishedLevels(cat);
|
LoadFinishedLevels(cat);
|
||||||
return m_levelInfo[cat][chap][rank].numTry;
|
return m_levelInfo[cat][chap][rank].numTry;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerProgress::SetLevelPassed(LevelCategory cat, int chap, int rank, bool bPassed)
|
void CPlayerProfile::SetLevelPassed(LevelCategory cat, int chap, int rank, bool bPassed)
|
||||||
{
|
{
|
||||||
m_levelInfo[cat][chap][rank].bPassed = bPassed;
|
m_levelInfo[cat][chap][rank].bPassed = bPassed;
|
||||||
SaveFinishedLevels(cat);
|
SaveFinishedLevels(cat);
|
||||||
|
@ -154,14 +154,14 @@ void CPlayerProgress::SetLevelPassed(LevelCategory cat, int chap, int rank, bool
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CPlayerProgress::GetLevelPassed(LevelCategory cat, int chap, int rank)
|
bool CPlayerProfile::GetLevelPassed(LevelCategory cat, int chap, int rank)
|
||||||
{
|
{
|
||||||
if(!m_levelInfoLoaded[cat])
|
if(!m_levelInfoLoaded[cat])
|
||||||
LoadFinishedLevels(cat);
|
LoadFinishedLevels(cat);
|
||||||
return m_levelInfo[cat][chap][rank].bPassed;
|
return m_levelInfo[cat][chap][rank].bPassed;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CPlayerProgress::GetChapPassed(LevelCategory cat)
|
int CPlayerProfile::GetChapPassed(LevelCategory cat)
|
||||||
{
|
{
|
||||||
if ( CRobotMain::GetInstancePointer()->GetShowAll() ) return MAXSCENE;
|
if ( CRobotMain::GetInstancePointer()->GetShowAll() ) return MAXSCENE;
|
||||||
|
|
||||||
|
@ -175,13 +175,13 @@ int CPlayerProgress::GetChapPassed(LevelCategory cat)
|
||||||
return MAXSCENE;
|
return MAXSCENE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerProgress::SetSelectedChap(LevelCategory category, int chap)
|
void CPlayerProfile::SetSelectedChap(LevelCategory category, int chap)
|
||||||
{
|
{
|
||||||
m_selectChap[category] = chap;
|
m_selectChap[category] = chap;
|
||||||
SaveFinishedLevels(category);
|
SaveFinishedLevels(category);
|
||||||
}
|
}
|
||||||
|
|
||||||
int CPlayerProgress::GetSelectedChap(LevelCategory category)
|
int CPlayerProfile::GetSelectedChap(LevelCategory category)
|
||||||
{
|
{
|
||||||
if(!m_levelInfoLoaded[category])
|
if(!m_levelInfoLoaded[category])
|
||||||
LoadFinishedLevels(category);
|
LoadFinishedLevels(category);
|
||||||
|
@ -189,13 +189,13 @@ int CPlayerProgress::GetSelectedChap(LevelCategory category)
|
||||||
return m_selectChap[category];
|
return m_selectChap[category];
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerProgress::SetSelectedRank(LevelCategory category, int rank)
|
void CPlayerProfile::SetSelectedRank(LevelCategory category, int rank)
|
||||||
{
|
{
|
||||||
m_selectRank[category] = rank;
|
m_selectRank[category] = rank;
|
||||||
SaveFinishedLevels(category);
|
SaveFinishedLevels(category);
|
||||||
}
|
}
|
||||||
|
|
||||||
int CPlayerProgress::GetSelectedRank(LevelCategory category)
|
int CPlayerProfile::GetSelectedRank(LevelCategory category)
|
||||||
{
|
{
|
||||||
if(!m_levelInfoLoaded[category])
|
if(!m_levelInfoLoaded[category])
|
||||||
LoadFinishedLevels(category);
|
LoadFinishedLevels(category);
|
||||||
|
@ -203,7 +203,7 @@ int CPlayerProgress::GetSelectedRank(LevelCategory category)
|
||||||
return m_selectRank[category];
|
return m_selectRank[category];
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerProgress::LoadFinishedLevels(LevelCategory category)
|
void CPlayerProfile::LoadFinishedLevels(LevelCategory category)
|
||||||
{
|
{
|
||||||
m_levelInfo[category].clear();
|
m_levelInfo[category].clear();
|
||||||
std::string filename = GetSaveFile(GetLevelCategoryDir(category)+".gam");
|
std::string filename = GetSaveFile(GetLevelCategoryDir(category)+".gam");
|
||||||
|
@ -246,7 +246,7 @@ void CPlayerProgress::LoadFinishedLevels(LevelCategory category)
|
||||||
m_levelInfoLoaded[category] = true;
|
m_levelInfoLoaded[category] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerProgress::SaveFinishedLevels(LevelCategory category)
|
void CPlayerProfile::SaveFinishedLevels(LevelCategory category)
|
||||||
{
|
{
|
||||||
std::string filename = GetSaveFile(GetLevelCategoryDir(category)+".gam");
|
std::string filename = GetSaveFile(GetLevelCategoryDir(category)+".gam");
|
||||||
COutputStream file;
|
COutputStream file;
|
||||||
|
@ -276,7 +276,7 @@ void CPlayerProgress::SaveFinishedLevels(LevelCategory category)
|
||||||
|
|
||||||
// FREE GAME UNLOCK
|
// FREE GAME UNLOCK
|
||||||
|
|
||||||
int CPlayerProgress::GetFreeGameBuildUnlock()
|
int CPlayerProfile::GetFreeGameBuildUnlock()
|
||||||
{
|
{
|
||||||
if(!m_freegameLoaded)
|
if(!m_freegameLoaded)
|
||||||
LoadFreeGameUnlock();
|
LoadFreeGameUnlock();
|
||||||
|
@ -284,26 +284,26 @@ int CPlayerProgress::GetFreeGameBuildUnlock()
|
||||||
return m_freegameBuild;
|
return m_freegameBuild;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerProgress::SetFreeGameBuildUnlock(int freeBuild)
|
void CPlayerProfile::SetFreeGameBuildUnlock(int freeBuild)
|
||||||
{
|
{
|
||||||
m_freegameBuild = freeBuild;
|
m_freegameBuild = freeBuild;
|
||||||
SaveFreeGameUnlock();
|
SaveFreeGameUnlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
int CPlayerProgress::GetFreeGameResearchUnlock()
|
int CPlayerProfile::GetFreeGameResearchUnlock()
|
||||||
{
|
{
|
||||||
if(!m_freegameLoaded)
|
if(!m_freegameLoaded)
|
||||||
LoadFreeGameUnlock();
|
LoadFreeGameUnlock();
|
||||||
return m_freegameResearch;
|
return m_freegameResearch;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerProgress::SetFreeGameResearchUnlock(int freeResearch)
|
void CPlayerProfile::SetFreeGameResearchUnlock(int freeResearch)
|
||||||
{
|
{
|
||||||
m_freegameResearch = freeResearch;
|
m_freegameResearch = freeResearch;
|
||||||
SaveFreeGameUnlock();
|
SaveFreeGameUnlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerProgress::LoadFreeGameUnlock()
|
void CPlayerProfile::LoadFreeGameUnlock()
|
||||||
{
|
{
|
||||||
m_freegameResearch = 0;
|
m_freegameResearch = 0;
|
||||||
m_freegameBuild = 0;
|
m_freegameBuild = 0;
|
||||||
|
@ -330,7 +330,7 @@ void CPlayerProgress::LoadFreeGameUnlock()
|
||||||
m_freegameLoaded = false;
|
m_freegameLoaded = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerProgress::SaveFreeGameUnlock()
|
void CPlayerProfile::SaveFreeGameUnlock()
|
||||||
{
|
{
|
||||||
std::string filename = GetSaveFile("research.gam");
|
std::string filename = GetSaveFile("research.gam");
|
||||||
COutputStream file;
|
COutputStream file;
|
||||||
|
@ -348,12 +348,12 @@ void CPlayerProgress::SaveFreeGameUnlock()
|
||||||
|
|
||||||
// APPERANCE
|
// APPERANCE
|
||||||
|
|
||||||
PlayerApperance& CPlayerProgress::GetApperance()
|
PlayerApperance& CPlayerProfile::GetApperance()
|
||||||
{
|
{
|
||||||
return m_apperance;
|
return m_apperance;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerProgress::LoadApperance()
|
void CPlayerProfile::LoadApperance()
|
||||||
{
|
{
|
||||||
m_apperance.face = 0;
|
m_apperance.face = 0;
|
||||||
m_apperance.DefPerso();
|
m_apperance.DefPerso();
|
||||||
|
@ -383,7 +383,7 @@ void CPlayerProgress::LoadApperance()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerProgress::SaveApperance()
|
void CPlayerProfile::SaveApperance()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -411,7 +411,7 @@ void CPlayerProgress::SaveApperance()
|
||||||
|
|
||||||
// SAVE / LOAD SCENE
|
// SAVE / LOAD SCENE
|
||||||
|
|
||||||
void CPlayerProgress::SaveScene(std::string dir, std::string info)
|
void CPlayerProfile::SaveScene(std::string dir, std::string info)
|
||||||
{
|
{
|
||||||
if (!CResourceManager::DirectoryExists(dir))
|
if (!CResourceManager::DirectoryExists(dir))
|
||||||
{
|
{
|
|
@ -42,12 +42,12 @@ struct PlayerApperance
|
||||||
void DefPerso();
|
void DefPerso();
|
||||||
};
|
};
|
||||||
|
|
||||||
class CPlayerProgress
|
class CPlayerProfile
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CPlayerProgress(std::string playerName);
|
CPlayerProfile(std::string playerName);
|
||||||
static std::string GetLastName();
|
static std::string GetLastName();
|
||||||
~CPlayerProgress();
|
~CPlayerProfile();
|
||||||
|
|
||||||
bool Delete();
|
bool Delete();
|
||||||
|
|
|
@ -67,7 +67,7 @@
|
||||||
#include "object/object.h"
|
#include "object/object.h"
|
||||||
#include "object/object_create_exception.h"
|
#include "object/object_create_exception.h"
|
||||||
#include "object/object_manager.h"
|
#include "object/object_manager.h"
|
||||||
#include "object/player_progress.h"
|
#include "object/player_profile.h"
|
||||||
#include "object/scene_conditions.h"
|
#include "object/scene_conditions.h"
|
||||||
#include "object/task/task.h"
|
#include "object/task/task.h"
|
||||||
#include "object/task/taskbuild.h"
|
#include "object/task/taskbuild.h"
|
||||||
|
@ -317,7 +317,7 @@ void CRobotMain::Create()
|
||||||
|
|
||||||
m_engine->SetTracePrecision(1.0f);
|
m_engine->SetTracePrecision(1.0f);
|
||||||
|
|
||||||
SelectPlayer(CPlayerProgress::GetLastName());
|
SelectPlayer(CPlayerProfile::GetLastName());
|
||||||
|
|
||||||
CScriptFunctions::m_filesDir = CResourceManager::GetSaveLocation() + "/" + m_dialog->GetFilesDir(); //TODO: Refactor to PHYSFS while rewriting CBot engine
|
CScriptFunctions::m_filesDir = CResourceManager::GetSaveLocation() + "/" + m_dialog->GetFilesDir(); //TODO: Refactor to PHYSFS while rewriting CBot engine
|
||||||
CScriptFunctions::Init();
|
CScriptFunctions::Init();
|
||||||
|
@ -434,7 +434,7 @@ void CRobotMain::ChangePhase(Phase phase)
|
||||||
LevelCategory cat = m_dialog->GetLevelCategory();
|
LevelCategory cat = m_dialog->GetLevelCategory();
|
||||||
int chap = m_dialog->GetLevelChap();
|
int chap = m_dialog->GetLevelChap();
|
||||||
int rank = m_dialog->GetLevelRank();
|
int rank = m_dialog->GetLevelRank();
|
||||||
m_playerProgress->IncrementLevelTryCount(cat, chap, rank);
|
m_playerProfile->IncrementLevelTryCount(cat, chap, rank);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -443,7 +443,7 @@ void CRobotMain::ChangePhase(Phase phase)
|
||||||
LevelCategory cat = m_dialog->GetLevelCategory();
|
LevelCategory cat = m_dialog->GetLevelCategory();
|
||||||
int chap = m_dialog->GetLevelChap();
|
int chap = m_dialog->GetLevelChap();
|
||||||
int rank = m_dialog->GetLevelRank();
|
int rank = m_dialog->GetLevelRank();
|
||||||
m_playerProgress->SetLevelPassed(cat, chap, rank, true);
|
m_playerProfile->SetLevelPassed(cat, chap, rank, true);
|
||||||
m_dialog->NextMission(); // passes to the next mission
|
m_dialog->NextMission(); // passes to the next mission
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3888,15 +3888,15 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject)
|
||||||
|
|
||||||
if (category == LevelCategory::Missions && !resetObject) // mission?
|
if (category == LevelCategory::Missions && !resetObject) // mission?
|
||||||
{
|
{
|
||||||
m_playerProgress->SetFreeGameResearchUnlock(m_playerProgress->GetFreeGameResearchUnlock() | m_researchDone[0]);
|
m_playerProfile->SetFreeGameResearchUnlock(m_playerProfile->GetFreeGameResearchUnlock() | m_researchDone[0]);
|
||||||
m_playerProgress->SetFreeGameBuildUnlock(m_playerProgress->GetFreeGameBuildUnlock() | m_build);
|
m_playerProfile->SetFreeGameBuildUnlock(m_playerProfile->GetFreeGameBuildUnlock() | m_build);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (category == LevelCategory::FreeGame && !resetObject) // free play?
|
if (category == LevelCategory::FreeGame && !resetObject) // free play?
|
||||||
{
|
{
|
||||||
m_researchDone[0] = m_playerProgress->GetFreeGameResearchUnlock();
|
m_researchDone[0] = m_playerProfile->GetFreeGameResearchUnlock();
|
||||||
|
|
||||||
m_build = m_playerProgress->GetFreeGameBuildUnlock();
|
m_build = m_playerProfile->GetFreeGameBuildUnlock();
|
||||||
m_build &= ~BUILD_RESEARCH;
|
m_build &= ~BUILD_RESEARCH;
|
||||||
m_build &= ~BUILD_LABO;
|
m_build &= ~BUILD_LABO;
|
||||||
m_build |= BUILD_FACTORY;
|
m_build |= BUILD_FACTORY;
|
||||||
|
@ -4027,11 +4027,11 @@ void CRobotMain::ChangeColor()
|
||||||
colorRef1.r = 206.0f/256.0f;
|
colorRef1.r = 206.0f/256.0f;
|
||||||
colorRef1.g = 206.0f/256.0f;
|
colorRef1.g = 206.0f/256.0f;
|
||||||
colorRef1.b = 204.0f/256.0f; // ~white
|
colorRef1.b = 204.0f/256.0f; // ~white
|
||||||
colorNew1 = m_playerProgress->GetApperance().colorCombi;
|
colorNew1 = m_playerProfile->GetApperance().colorCombi;
|
||||||
colorRef2.r = 255.0f/256.0f;
|
colorRef2.r = 255.0f/256.0f;
|
||||||
colorRef2.g = 132.0f/256.0f;
|
colorRef2.g = 132.0f/256.0f;
|
||||||
colorRef2.b = 1.0f/256.0f; // orange
|
colorRef2.b = 1.0f/256.0f; // orange
|
||||||
colorNew2 = m_playerProgress->GetApperance().colorBand;
|
colorNew2 = m_playerProfile->GetApperance().colorBand;
|
||||||
|
|
||||||
Math::Point exclu[6];
|
Math::Point exclu[6];
|
||||||
exclu[0] = Math::Point(192.0f/256.0f, 0.0f/256.0f);
|
exclu[0] = Math::Point(192.0f/256.0f, 0.0f/256.0f);
|
||||||
|
@ -4073,7 +4073,7 @@ void CRobotMain::ChangeColor()
|
||||||
colorRef1.b = 0.0f/256.0f; // yellow
|
colorRef1.b = 0.0f/256.0f; // yellow
|
||||||
tolerance = 0.20f;
|
tolerance = 0.20f;
|
||||||
}
|
}
|
||||||
colorNew1 = m_playerProgress->GetApperance().colorHair;
|
colorNew1 = m_playerProfile->GetApperance().colorHair;
|
||||||
colorRef2.r = 0.0f;
|
colorRef2.r = 0.0f;
|
||||||
colorRef2.g = 0.0f;
|
colorRef2.g = 0.0f;
|
||||||
colorRef2.b = 0.0f;
|
colorRef2.b = 0.0f;
|
||||||
|
@ -4605,7 +4605,7 @@ void CRobotMain::LoadOneScript(CObject *obj, int &nbError)
|
||||||
|
|
||||||
char file[MAX_FNAME];
|
char file[MAX_FNAME];
|
||||||
sprintf(file, "%c%.3d%.3d%.3d%.3d.txt", categoryChar, chap, rank, objRank, i);
|
sprintf(file, "%c%.3d%.3d%.3d%.3d.txt", categoryChar, chap, rank, objRank, i);
|
||||||
std::string filename = m_playerProgress->GetSaveFile(file);
|
std::string filename = m_playerProfile->GetSaveFile(file);
|
||||||
|
|
||||||
if (CResourceManager::Exists(filename))
|
if (CResourceManager::Exists(filename))
|
||||||
{
|
{
|
||||||
|
@ -4680,7 +4680,7 @@ void CRobotMain::SaveOneScript(CObject *obj)
|
||||||
{
|
{
|
||||||
char file[MAX_FNAME];
|
char file[MAX_FNAME];
|
||||||
sprintf(file, "%c%.3d%.3d%.3d%.3d.txt", categoryChar, chap, rank, objRank, i);
|
sprintf(file, "%c%.3d%.3d%.3d%.3d.txt", categoryChar, chap, rank, objRank, i);
|
||||||
std::string filename = m_playerProgress->GetSaveFile(file);
|
std::string filename = m_playerProfile->GetSaveFile(file);
|
||||||
|
|
||||||
if (i < programs.size())
|
if (i < programs.size())
|
||||||
{
|
{
|
||||||
|
@ -5238,13 +5238,13 @@ void CRobotMain::SelectPlayer(std::string playerName)
|
||||||
{
|
{
|
||||||
assert(!playerName.empty());
|
assert(!playerName.empty());
|
||||||
|
|
||||||
m_playerProgress = MakeUnique<CPlayerProgress>(playerName);
|
m_playerProfile = MakeUnique<CPlayerProfile>(playerName);
|
||||||
SetGlobalGamerName(playerName);
|
SetGlobalGamerName(playerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
CPlayerProgress* CRobotMain::GetPlayerProgress()
|
CPlayerProfile* CRobotMain::GetPlayerProfile()
|
||||||
{
|
{
|
||||||
return m_playerProgress.get();
|
return m_playerProfile.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -5667,13 +5667,13 @@ MissionType CRobotMain::GetMissionType()
|
||||||
//! Returns the representation to use for the player
|
//! Returns the representation to use for the player
|
||||||
int CRobotMain::GetGamerFace()
|
int CRobotMain::GetGamerFace()
|
||||||
{
|
{
|
||||||
return m_playerProgress->GetApperance().face;
|
return m_playerProfile->GetApperance().face;
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Returns the representation to use for the player
|
//! Returns the representation to use for the player
|
||||||
int CRobotMain::GetGamerGlasses()
|
int CRobotMain::GetGamerGlasses()
|
||||||
{
|
{
|
||||||
return m_playerProgress->GetApperance().glasses;
|
return m_playerProfile->GetApperance().glasses;
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Returns the mode with just the head
|
//! Returns the mode with just the head
|
||||||
|
@ -5982,7 +5982,7 @@ int CRobotMain::AutosaveRotate(bool freeOne)
|
||||||
{
|
{
|
||||||
GetLogger()->Debug("Rotate autosaves...\n");
|
GetLogger()->Debug("Rotate autosaves...\n");
|
||||||
// Find autosave dirs
|
// Find autosave dirs
|
||||||
auto saveDirs = CResourceManager::ListDirectories(m_playerProgress->GetSaveDir());
|
auto saveDirs = CResourceManager::ListDirectories(m_playerProfile->GetSaveDir());
|
||||||
std::map<int, std::string> autosaveDirs;
|
std::map<int, std::string> autosaveDirs;
|
||||||
for (auto& dir : saveDirs)
|
for (auto& dir : saveDirs)
|
||||||
{
|
{
|
||||||
|
@ -5992,7 +5992,7 @@ int CRobotMain::AutosaveRotate(bool freeOne)
|
||||||
if (dir.substr(0, autosavePrefix.length()) == "autosave")
|
if (dir.substr(0, autosavePrefix.length()) == "autosave")
|
||||||
{
|
{
|
||||||
int id = boost::lexical_cast<int>(dir.substr(autosavePrefix.length()));
|
int id = boost::lexical_cast<int>(dir.substr(autosavePrefix.length()));
|
||||||
autosaveDirs[id] = m_playerProgress->GetSaveFile(dir);
|
autosaveDirs[id] = m_playerProfile->GetSaveFile(dir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
|
@ -6034,7 +6034,7 @@ int CRobotMain::AutosaveRotate(bool freeOne)
|
||||||
{
|
{
|
||||||
for (auto& save : autosavesToKeep)
|
for (auto& save : autosavesToKeep)
|
||||||
{
|
{
|
||||||
std::string newDir = m_playerProgress->GetSaveFile("autosave" + boost::lexical_cast<std::string>(save.first));
|
std::string newDir = m_playerProfile->GetSaveFile("autosave" + boost::lexical_cast<std::string>(save.first));
|
||||||
GetLogger()->Trace("Rename %s -> %s\n", save.second.c_str(), newDir.c_str());
|
GetLogger()->Trace("Rename %s -> %s\n", save.second.c_str(), newDir.c_str());
|
||||||
CResourceManager::Move(save.second, newDir);
|
CResourceManager::Move(save.second, newDir);
|
||||||
}
|
}
|
||||||
|
@ -6048,13 +6048,13 @@ void CRobotMain::Autosave()
|
||||||
int id = AutosaveRotate(true);
|
int id = AutosaveRotate(true);
|
||||||
GetLogger()->Info("Autosave!\n");
|
GetLogger()->Info("Autosave!\n");
|
||||||
|
|
||||||
std::string dir = m_playerProgress->GetSaveFile("autosave" + boost::lexical_cast<std::string>(id));
|
std::string dir = m_playerProfile->GetSaveFile("autosave" + boost::lexical_cast<std::string>(id));
|
||||||
|
|
||||||
char timestr[100];
|
char timestr[100];
|
||||||
TimeToAscii(time(NULL), timestr);
|
TimeToAscii(time(NULL), timestr);
|
||||||
std::string info = std::string("[AUTOSAVE] ")+timestr;
|
std::string info = std::string("[AUTOSAVE] ")+timestr;
|
||||||
|
|
||||||
m_playerProgress->SaveScene(dir, info);
|
m_playerProfile->SaveScene(dir, info);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CRobotMain::SetExitAfterMission(bool exit)
|
void CRobotMain::SetExitAfterMission(bool exit)
|
||||||
|
@ -6162,7 +6162,7 @@ void CRobotMain::MarkResearchDone(ResearchType type, int team)
|
||||||
|
|
||||||
if(team == 0)
|
if(team == 0)
|
||||||
{
|
{
|
||||||
m_playerProgress->SetFreeGameResearchUnlock(m_playerProgress->GetFreeGameResearchUnlock() | m_researchDone[0]);
|
m_playerProfile->SetFreeGameResearchUnlock(m_playerProfile->GetFreeGameResearchUnlock() | m_researchDone[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,7 @@ class CInput;
|
||||||
class CObjectManager;
|
class CObjectManager;
|
||||||
class CSceneEndCondition;
|
class CSceneEndCondition;
|
||||||
class CAudioChangeCondition;
|
class CAudioChangeCondition;
|
||||||
class CPlayerProgress;
|
class CPlayerProfile;
|
||||||
|
|
||||||
namespace Gfx {
|
namespace Gfx {
|
||||||
class CEngine;
|
class CEngine;
|
||||||
|
@ -302,7 +302,7 @@ public:
|
||||||
char* GetNewScriptName(ObjectType type, int rank);
|
char* GetNewScriptName(ObjectType type, int rank);
|
||||||
|
|
||||||
void SelectPlayer(std::string playerName);
|
void SelectPlayer(std::string playerName);
|
||||||
CPlayerProgress* GetPlayerProgress();
|
CPlayerProfile* GetPlayerProfile();
|
||||||
|
|
||||||
bool IsBusy();
|
bool IsBusy();
|
||||||
bool IOWriteScene(const char *filename, const char *filecbot, char *info);
|
bool IOWriteScene(const char *filename, const char *filecbot, char *info);
|
||||||
|
@ -450,7 +450,7 @@ protected:
|
||||||
CInput* m_input;
|
CInput* m_input;
|
||||||
|
|
||||||
//! Progress of loaded player
|
//! Progress of loaded player
|
||||||
std::unique_ptr<CPlayerProgress> m_playerProgress;
|
std::unique_ptr<CPlayerProfile> m_playerProfile;
|
||||||
|
|
||||||
|
|
||||||
//! Time since level start, including pause and intro movie
|
//! Time since level start, including pause and intro movie
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
|
|
||||||
#include "object/level/parser.h"
|
#include "object/level/parser.h"
|
||||||
|
|
||||||
#include "object/player_progress.h"
|
#include "object/player_profile.h"
|
||||||
#include "object/robotmain.h"
|
#include "object/robotmain.h"
|
||||||
|
|
||||||
#include "sound/sound.h"
|
#include "sound/sound.h"
|
||||||
|
@ -418,13 +418,13 @@ void CMainDialog::ChangePhase(Phase phase)
|
||||||
ddim.y = 18.0f/480.0f;
|
ddim.y = 18.0f/480.0f;
|
||||||
pe = pw->CreateEdit(pos, ddim, 0, EVENT_INTERFACE_NEDIT);
|
pe = pw->CreateEdit(pos, ddim, 0, EVENT_INTERFACE_NEDIT);
|
||||||
pe->SetMaxChar(15);
|
pe->SetMaxChar(15);
|
||||||
if(m_main->GetPlayerProgress() != nullptr)
|
if(m_main->GetPlayerProfile() != nullptr)
|
||||||
{
|
{
|
||||||
name = m_main->GetPlayerProgress()->GetName();
|
name = m_main->GetPlayerProfile()->GetName();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
name = CPlayerProgress::GetLastName();
|
name = CPlayerProfile::GetLastName();
|
||||||
}
|
}
|
||||||
pe->SetText(name.c_str());
|
pe->SetText(name.c_str());
|
||||||
pe->SetCursor(name.length(), 0);
|
pe->SetCursor(name.length(), 0);
|
||||||
|
@ -697,7 +697,7 @@ void CMainDialog::ChangePhase(Phase phase)
|
||||||
|
|
||||||
m_apperanceTab = 0;
|
m_apperanceTab = 0;
|
||||||
m_apperanceAngle = -0.6f;
|
m_apperanceAngle = -0.6f;
|
||||||
m_main->GetPlayerProgress()->LoadApperance();
|
m_main->GetPlayerProfile()->LoadApperance();
|
||||||
UpdatePerso();
|
UpdatePerso();
|
||||||
m_main->ScenePerso();
|
m_main->ScenePerso();
|
||||||
CameraPerso();
|
CameraPerso();
|
||||||
|
@ -735,7 +735,7 @@ void CMainDialog::ChangePhase(Phase phase)
|
||||||
|
|
||||||
if ( m_phase == PHASE_FREE )
|
if ( m_phase == PHASE_FREE )
|
||||||
{
|
{
|
||||||
m_accessChap = m_main->GetPlayerProgress()->GetChapPassed(LevelCategory::Missions);
|
m_accessChap = m_main->GetPlayerProfile()->GetChapPassed(LevelCategory::Missions);
|
||||||
}
|
}
|
||||||
|
|
||||||
pos.x = 0.10f;
|
pos.x = 0.10f;
|
||||||
|
@ -782,7 +782,7 @@ void CMainDialog::ChangePhase(Phase phase)
|
||||||
ddim.x = dim.x*6.5f;
|
ddim.x = dim.x*6.5f;
|
||||||
pli = pw->CreateList(pos, ddim, 0, EVENT_INTERFACE_CHAP);
|
pli = pw->CreateList(pos, ddim, 0, EVENT_INTERFACE_CHAP);
|
||||||
pli->SetState(STATE_SHADOW);
|
pli->SetState(STATE_SHADOW);
|
||||||
m_chap[m_category] = m_main->GetPlayerProgress()->GetSelectedChap(m_category)-1;
|
m_chap[m_category] = m_main->GetPlayerProfile()->GetSelectedChap(m_category)-1;
|
||||||
UpdateSceneChap(m_chap[m_category]);
|
UpdateSceneChap(m_chap[m_category]);
|
||||||
if ( m_phase != PHASE_USER ) pli->SetState(STATE_EXTEND);
|
if ( m_phase != PHASE_USER ) pli->SetState(STATE_EXTEND);
|
||||||
|
|
||||||
|
@ -805,7 +805,7 @@ void CMainDialog::ChangePhase(Phase phase)
|
||||||
ddim.x = dim.x*6.5f;
|
ddim.x = dim.x*6.5f;
|
||||||
pli = pw->CreateList(pos, ddim, 0, EVENT_INTERFACE_LIST);
|
pli = pw->CreateList(pos, ddim, 0, EVENT_INTERFACE_LIST);
|
||||||
pli->SetState(STATE_SHADOW);
|
pli->SetState(STATE_SHADOW);
|
||||||
m_sel[m_category] = m_main->GetPlayerProgress()->GetSelectedRank(m_category)-1;
|
m_sel[m_category] = m_main->GetPlayerProfile()->GetSelectedRank(m_category)-1;
|
||||||
UpdateSceneList(m_chap[m_category], m_sel[m_category]);
|
UpdateSceneList(m_chap[m_category], m_sel[m_category]);
|
||||||
if ( m_phase != PHASE_USER ) pli->SetState(STATE_EXTEND);
|
if ( m_phase != PHASE_USER ) pli->SetState(STATE_EXTEND);
|
||||||
pos = pli->GetPos();
|
pos = pli->GetPos();
|
||||||
|
@ -2078,7 +2078,7 @@ bool CMainDialog::EventProcess(const Event &event)
|
||||||
|
|
||||||
if ( m_phase == PHASE_PERSO )
|
if ( m_phase == PHASE_PERSO )
|
||||||
{
|
{
|
||||||
PlayerApperance& apperance = m_main->GetPlayerProgress()->GetApperance();
|
PlayerApperance& apperance = m_main->GetPlayerProfile()->GetApperance();
|
||||||
switch( event.type )
|
switch( event.type )
|
||||||
{
|
{
|
||||||
case EVENT_KEY_DOWN:
|
case EVENT_KEY_DOWN:
|
||||||
|
@ -2184,12 +2184,12 @@ bool CMainDialog::EventProcess(const Event &event)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EVENT_INTERFACE_POK:
|
case EVENT_INTERFACE_POK:
|
||||||
m_main->GetPlayerProgress()->SaveApperance();
|
m_main->GetPlayerProfile()->SaveApperance();
|
||||||
m_main->ChangePhase(PHASE_INIT);
|
m_main->ChangePhase(PHASE_INIT);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EVENT_INTERFACE_PCANCEL:
|
case EVENT_INTERFACE_PCANCEL:
|
||||||
m_main->GetPlayerProgress()->LoadApperance(); // reload apperance from file
|
m_main->GetPlayerProfile()->LoadApperance(); // reload apperance from file
|
||||||
m_main->ChangePhase(PHASE_NAME);
|
m_main->ChangePhase(PHASE_NAME);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -2229,7 +2229,7 @@ bool CMainDialog::EventProcess(const Event &event)
|
||||||
pl = static_cast<CList*>(pw->SearchControl(EVENT_INTERFACE_CHAP));
|
pl = static_cast<CList*>(pw->SearchControl(EVENT_INTERFACE_CHAP));
|
||||||
if ( pl == 0 ) break;
|
if ( pl == 0 ) break;
|
||||||
m_chap[m_category] = pl->GetSelect();
|
m_chap[m_category] = pl->GetSelect();
|
||||||
m_main->GetPlayerProgress()->SetSelectedChap(m_category, m_chap[m_category]+1);
|
m_main->GetPlayerProfile()->SetSelectedChap(m_category, m_chap[m_category]+1);
|
||||||
UpdateSceneList(m_chap[m_category], m_sel[m_category]);
|
UpdateSceneList(m_chap[m_category], m_sel[m_category]);
|
||||||
UpdateSceneResume(m_chap[m_category]+1, m_sel[m_category]+1);
|
UpdateSceneResume(m_chap[m_category]+1, m_sel[m_category]+1);
|
||||||
break;
|
break;
|
||||||
|
@ -2238,7 +2238,7 @@ bool CMainDialog::EventProcess(const Event &event)
|
||||||
pl = static_cast<CList*>(pw->SearchControl(EVENT_INTERFACE_LIST));
|
pl = static_cast<CList*>(pw->SearchControl(EVENT_INTERFACE_LIST));
|
||||||
if ( pl == 0 ) break;
|
if ( pl == 0 ) break;
|
||||||
m_sel[m_category] = pl->GetSelect();
|
m_sel[m_category] = pl->GetSelect();
|
||||||
m_main->GetPlayerProgress()->SetSelectedRank(m_category, m_sel[m_category]+1);
|
m_main->GetPlayerProfile()->SetSelectedRank(m_category, m_sel[m_category]+1);
|
||||||
UpdateSceneResume(m_chap[m_category]+1, m_sel[m_category]+1);
|
UpdateSceneResume(m_chap[m_category]+1, m_sel[m_category]+1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -3389,7 +3389,7 @@ void CMainDialog::UpdateNameControl()
|
||||||
pe = static_cast<CEdit*>(pw->SearchControl(EVENT_INTERFACE_NEDIT));
|
pe = static_cast<CEdit*>(pw->SearchControl(EVENT_INTERFACE_NEDIT));
|
||||||
if ( pe == 0 ) return;
|
if ( pe == 0 ) return;
|
||||||
|
|
||||||
std::string gamer = m_main->GetPlayerProgress()->GetName();
|
std::string gamer = m_main->GetPlayerProfile()->GetName();
|
||||||
total = pl->GetTotal();
|
total = pl->GetTotal();
|
||||||
sel = pl->GetSelect();
|
sel = pl->GetSelect();
|
||||||
pe->GetText(name, 100);
|
pe->GetText(name, 100);
|
||||||
|
@ -3589,7 +3589,7 @@ void CMainDialog::NameDelete()
|
||||||
char* gamer = pl->GetItemName(sel);
|
char* gamer = pl->GetItemName(sel);
|
||||||
|
|
||||||
m_main->SelectPlayer(gamer);
|
m_main->SelectPlayer(gamer);
|
||||||
if (!m_main->GetPlayerProgress()->Delete())
|
if (!m_main->GetPlayerProfile()->Delete())
|
||||||
{
|
{
|
||||||
m_sound->Play(SOUND_TZOING);
|
m_sound->Play(SOUND_TZOING);
|
||||||
return;
|
return;
|
||||||
|
@ -3626,7 +3626,7 @@ void CMainDialog::UpdatePerso()
|
||||||
std::string name;
|
std::string name;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
PlayerApperance& apperance = m_main->GetPlayerProgress()->GetApperance();
|
PlayerApperance& apperance = m_main->GetPlayerProfile()->GetApperance();
|
||||||
|
|
||||||
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW5));
|
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW5));
|
||||||
if ( pw == 0 ) return;
|
if ( pw == 0 ) return;
|
||||||
|
@ -3793,7 +3793,7 @@ void CMainDialog::CameraPerso()
|
||||||
|
|
||||||
void CMainDialog::FixPerso(int rank, int index)
|
void CMainDialog::FixPerso(int rank, int index)
|
||||||
{
|
{
|
||||||
PlayerApperance& apperance = m_main->GetPlayerProgress()->GetApperance();
|
PlayerApperance& apperance = m_main->GetPlayerProfile()->GetApperance();
|
||||||
if ( m_apperanceTab == 0 )
|
if ( m_apperanceTab == 0 )
|
||||||
{
|
{
|
||||||
if ( index == 1 )
|
if ( index == 1 )
|
||||||
|
@ -3828,7 +3828,7 @@ void CMainDialog::ColorPerso()
|
||||||
CSlider* ps;
|
CSlider* ps;
|
||||||
Gfx::Color color;
|
Gfx::Color color;
|
||||||
|
|
||||||
PlayerApperance& apperance = m_main->GetPlayerProgress()->GetApperance();
|
PlayerApperance& apperance = m_main->GetPlayerProfile()->GetApperance();
|
||||||
|
|
||||||
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW5));
|
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW5));
|
||||||
if ( pw == 0 ) return;
|
if ( pw == 0 ) return;
|
||||||
|
@ -3858,7 +3858,7 @@ void CMainDialog::ColorPerso()
|
||||||
|
|
||||||
bool CMainDialog::IsIOReadScene()
|
bool CMainDialog::IsIOReadScene()
|
||||||
{
|
{
|
||||||
std::string userSaveDir = m_savegameDir + "/" + m_main->GetPlayerProgress()->GetName();
|
std::string userSaveDir = m_savegameDir + "/" + m_main->GetPlayerProfile()->GetName();
|
||||||
auto saveDirs = CResourceManager::ListDirectories(userSaveDir);
|
auto saveDirs = CResourceManager::ListDirectories(userSaveDir);
|
||||||
for (auto dir : saveDirs)
|
for (auto dir : saveDirs)
|
||||||
{
|
{
|
||||||
|
@ -3922,7 +3922,7 @@ void CMainDialog::IOReadList()
|
||||||
|
|
||||||
m_saveList.clear();
|
m_saveList.clear();
|
||||||
|
|
||||||
std::string userSaveDir = m_savegameDir + "/" + m_main->GetPlayerProgress()->GetName();
|
std::string userSaveDir = m_savegameDir + "/" + m_main->GetPlayerProfile()->GetName();
|
||||||
|
|
||||||
auto saveDirs = CResourceManager::ListDirectories(userSaveDir);
|
auto saveDirs = CResourceManager::ListDirectories(userSaveDir);
|
||||||
//std::sort(saveDirs.begin(), saveDirs.end());
|
//std::sort(saveDirs.begin(), saveDirs.end());
|
||||||
|
@ -4087,14 +4087,14 @@ bool CMainDialog::IOWriteScene()
|
||||||
pe->GetText(info, 100);
|
pe->GetText(info, 100);
|
||||||
if (static_cast<unsigned int>(sel) >= m_saveList.size())
|
if (static_cast<unsigned int>(sel) >= m_saveList.size())
|
||||||
{
|
{
|
||||||
dir = m_savegameDir + "/" + m_main->GetPlayerProgress()->GetName() + "/save" + clearName(info);
|
dir = m_savegameDir + "/" + m_main->GetPlayerProfile()->GetName() + "/save" + clearName(info);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dir = m_saveList.at(sel);
|
dir = m_saveList.at(sel);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_main->GetPlayerProgress()->SaveScene(dir, info);
|
m_main->GetPlayerProfile()->SaveScene(dir, info);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -4249,7 +4249,7 @@ void CMainDialog::UpdateSceneChap(int &chap)
|
||||||
sprintf(line, "%s", (std::string("[ERROR]: ")+e.what()).c_str());
|
sprintf(line, "%s", (std::string("[ERROR]: ")+e.what()).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
bPassed = m_main->GetPlayerProgress()->GetLevelPassed(m_category, j+1, 0);
|
bPassed = m_main->GetPlayerProfile()->GetLevelPassed(m_category, j+1, 0);
|
||||||
pl->SetItemName(j, line);
|
pl->SetItemName(j, line);
|
||||||
pl->SetCheck(j, bPassed);
|
pl->SetCheck(j, bPassed);
|
||||||
pl->SetEnable(j, true);
|
pl->SetEnable(j, true);
|
||||||
|
@ -4320,7 +4320,7 @@ void CMainDialog::UpdateSceneList(int chap, int &sel)
|
||||||
sprintf(line, "%s", (std::string("[ERROR]: ")+e.what()).c_str());
|
sprintf(line, "%s", (std::string("[ERROR]: ")+e.what()).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
bPassed = m_main->GetPlayerProgress()->GetLevelPassed(m_category, chap+1, j+1);
|
bPassed = m_main->GetPlayerProfile()->GetLevelPassed(m_category, chap+1, j+1);
|
||||||
pl->SetItemName(j, line);
|
pl->SetItemName(j, line);
|
||||||
pl->SetCheck(j, bPassed);
|
pl->SetCheck(j, bPassed);
|
||||||
pl->SetEnable(j, true);
|
pl->SetEnable(j, true);
|
||||||
|
@ -4407,8 +4407,8 @@ void CMainDialog::UpdateSceneResume(int chap, int rank)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
numTry = m_main->GetPlayerProgress()->GetLevelTryCount(m_category, chap, rank);
|
numTry = m_main->GetPlayerProfile()->GetLevelTryCount(m_category, chap, rank);
|
||||||
bPassed = m_main->GetPlayerProgress()->GetLevelPassed(m_category, chap, rank);
|
bPassed = m_main->GetPlayerProfile()->GetLevelPassed(m_category, chap, rank);
|
||||||
bVisible = ( numTry > 2 || bPassed || m_main->GetShowSoluce() );
|
bVisible = ( numTry > 2 || bPassed || m_main->GetShowSoluce() );
|
||||||
if ( !GetSoluce4() ) bVisible = false;
|
if ( !GetSoluce4() ) bVisible = false;
|
||||||
pc->SetState(STATE_VISIBLE, bVisible);
|
pc->SetState(STATE_VISIBLE, bVisible);
|
||||||
|
@ -5898,14 +5898,14 @@ void CMainDialog::UpdateChapterPassed()
|
||||||
bool bAll = true;
|
bool bAll = true;
|
||||||
for ( int i=0 ; i<m_maxList ; i++ )
|
for ( int i=0 ; i<m_maxList ; i++ )
|
||||||
{
|
{
|
||||||
if (!m_main->GetPlayerProgress()->GetLevelPassed(m_category, m_chap[m_category]+1, i+1))
|
if (!m_main->GetPlayerProfile()->GetLevelPassed(m_category, m_chap[m_category]+1, i+1))
|
||||||
{
|
{
|
||||||
bAll = false;
|
bAll = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_main->GetPlayerProgress()->IncrementLevelTryCount(m_category, m_chap[m_category]+1, 0);
|
m_main->GetPlayerProfile()->IncrementLevelTryCount(m_category, m_chap[m_category]+1, 0);
|
||||||
m_main->GetPlayerProgress()->SetLevelPassed(m_category, m_chap[m_category]+1, 0, bAll);
|
m_main->GetPlayerProfile()->SetLevelPassed(m_category, m_chap[m_category]+1, 0, bAll);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -5921,8 +5921,8 @@ bool CMainDialog::NextMission()
|
||||||
m_sel[m_category] = 0; // first mission
|
m_sel[m_category] = 0; // first mission
|
||||||
}
|
}
|
||||||
|
|
||||||
m_main->GetPlayerProgress()->SetSelectedChap(m_category, m_chap[m_category]+1);
|
m_main->GetPlayerProfile()->SetSelectedChap(m_category, m_chap[m_category]+1);
|
||||||
m_main->GetPlayerProgress()->SetSelectedRank(m_category, m_sel[m_category]+1);
|
m_main->GetPlayerProfile()->SetSelectedRank(m_category, m_sel[m_category]+1);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
#include "object/brain.h"
|
#include "object/brain.h"
|
||||||
#include "object/object.h"
|
#include "object/object.h"
|
||||||
#include "object/player_progress.h"
|
#include "object/player_profile.h"
|
||||||
|
|
||||||
#include "script/cbottoken.h"
|
#include "script/cbottoken.h"
|
||||||
#include "script/script.h"
|
#include "script/script.h"
|
||||||
|
@ -1583,7 +1583,7 @@ std::string CStudio::SearchDirectory(bool bCreate)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dir = m_main->GetPlayerProgress()->GetSaveFile("program/");
|
dir = m_main->GetPlayerProfile()->GetSaveFile("program/");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( bCreate )
|
if ( bCreate )
|
||||||
|
|
Loading…
Reference in New Issue